私のAngular 2アプリ(テストはJasmineで記述されています)で非表示ボタンの機能をテストしたいので、display
プロパティの値を確認する必要があります。 AngularのdebugElement
を使用してこのプロパティを取得するにはどうすればよいですか?テストコード:
let input = fixture.debugElement.query(By.css('input'));
expect(input.styles['visibility']).toBe('false');
エラーが発生します:undefinedが 'false'であると予想されます。
この例に出くわした人にとって、display
に関するこの特定の問題の解決策は、hidden
のdebugElement
プロパティです。要素が非表示の場合はtrue
が含まれ、そうでない場合はfalse
が含まれます。
私は同じ問題を抱えていました。 DebugElement.styles
は、その要素に何らかのスタイルを明示的に設定しても、常に空のオブジェクトです(angular code?)のバグかもしれません。したがって、ブラウザnative element
直接:
let input = fixture.debugElement.query(By.css('input'));
expect(input.nativeElement.style.visibility).toBe('false');