web-dev-qa-db-ja.com

Angular 2テスト-DOM要素スタイルを取得

私のAngular 2アプリ(テストはJasmineで記述されています)で非表示ボタンの機能をテストしたいので、displayプロパティの値を確認する必要があります。 AngularのdebugElementを使用してこのプロパティを取得するにはどうすればよいですか?テストコード:

let input = fixture.debugElement.query(By.css('input'));
expect(input.styles['visibility']).toBe('false');

エラーが発生します:undefinedが 'false'であると予想されます。

14
user6251216

この例に出くわした人にとって、displayに関するこの特定の問題の解決策は、hiddendebugElementプロパティです。要素が非表示の場合はtrueが含まれ、そうでない場合はfalseが含まれます。

0
user6251216

私は同じ問題を抱えていました。 DebugElement.stylesは、その要素に何らかのスタイルを明示的に設定しても、常に空のオブジェクトです(angular code?)のバグかもしれません。したがって、ブラウザnative element 直接:

let input = fixture.debugElement.query(By.css('input'));
expect(input.nativeElement.style.visibility).toBe('false');
6
LeOn - Han Li