web-dev-qa-db-ja.com

分度器を使用して文字列が一致しないかどうかをテストする方法

_karma-ng-scenario_テストスイートを分度器に移行しています。私は何かしたいです

_// karma-ng-scenario
expect(element('legend').text()).not().toBe("LOGIN_CONNECT");
_

分度器の方法で。しかし、not()関数がないようです。

_angular-translate_を使用してLONGIN_CONNECT文字列を複数の言語にバインドしています。文字列が翻訳されているかどうかをテストしたいと思います。

よりグローバルに、何かが異なる場合の方法テストはありますか? ...クラスがない、ページに存在しない、選択されていない、...

18
Sylvain

API docs は一見の価値があります。私はいつもこれらを開いています。 isEnabled()isDisplayed()isSelected()などの多くのWebドライバー関数を使用できます。分度器はJasmine構文を使用するため、 '。toBe(false)を使用できます'物事を主張することは誤りです。クラスを確認するには、次のようにします。

expect(myElement.getAttribute('class')).toContain('my-class-name');

文字列を比較し、それらが一致しないことを表明するには、.notJasmine docs 言う:

.notを前に付けることで、すべてのマッチャーの基準を逆にすることができます。

expect(x).not.toEqual(y);オブジェクトまたはプリミティブxとyを比較し、同等でない場合は渡す

25
preeve

私は一致しないことを確認するために以下を使用しています:

expect(element('legend').text() === "LOGIN_CONNECT").toBe(false);
4
Yap Wee Sing

あなたは次のようなものを使うことができます:

expect(model.getText()).not.toContain('abcdef');

.notプロパティは現在使用されています。

2
Mark Rogers