1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Selenideのshould、shouldBe、shouldHaveの違い

Last updated at Posted at 2020-04-08

SelenideのQuick Startをやっていて、Assertionメソッドにshould、shouldBe、shouldHaveの3種類(と否定を表現するshouldNot、shouldNotBe、shouldNotHaveの3種類)があり、使い分けがよく分からなかったのでそれを整理したメモです。

違い

まず、自分の英語力が足りていませんでした。
以下のやりとりでもある通り、should、shouldBe、shouldHaveは同義語となるため違いはありません。

ただ、Selenideを使ってテストコードを書く場合、この3つの使い分けは「英語として自然でありより読みやすい形となるものを選択して使う」が使い分けるポイントとなるようです。ちなみに、公式ドキュメントにもその旨の記載があります。

We recommend to choose the convenient alias so the line of code can be easily read like a common english phrase

ちなみに、「should be text」というのは英語の文法として正しくありませんが、以下のコードのようにshouldBe Textという使い方をしてもコンパイルエラーにはなりませんし、テストもパスします。

$(By.id("agree_and_goto_next")).shouldBe(text("NEXT"));

英語力が問われるところでもあるのかなと思いました。

参考

以上です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?