4

VS2012とC#を使用してSeleniumを使い始めたところです。NUnitやHtmlUnitなどの別のテストフレームワークを使用する必要があるかどうかはわかりません。NUnitを使用せずにC#でオンラインで利用できるGoogle検索の例を試してみましたが、うまくいきました。

したがって、この時点での私の質問は、なぜSeleniumでNUnitを使用する必要があるのか​​ということです。

4

1 に答える 1

10

必要がなければ、SeleniumでNUnit(または他のユニットテストフレームワーク)を使用する必要はありません。ただし、他のものの利点を活用するためにNUnit(または他のもの)を使用したい場合があります。例えば:

  • 既存の単体テストがある場合は、すべてを1か所に保持します。(それがあなたが物事を整理したい方法である場合)
  • ユニットテストにすでにNUnit(またはお好みのユニットテストフレームワーク)を使用している場合は、NUnitに使用しているのと同じテストランナー(NUnitコンソール、NUnit GUI、ReSharperなど)を再利用できます。つまり、すべてのテストを実行できます。 (NUnitおよびSelenium)ボタンを1回押す/キーボードショートカット。
  • 継続的インテグレーションを使用すると、既存のNUnit(または任意の方法)テストランナーを介してSeleniumテストを実行できます。つまり、Seleniumテスト用に継続的インテグレーションサーバーを個別に構成する必要はありません。

上記は、ユニットテストがすでに行われていることを前提としています。単体テストをまだ持っていない場合、またはSeleniumテストのみに関心がある場合(たとえば、開発チームとテスターがあり、単体テストを作成し、テスターがSeleniumテストを作成し、それらは互いに独立して実行されます)その後、その余分なレイヤーを追加する必要はありません。

ユニットテストフレームワークとさまざまなもののセレンテスト。単体テストは通常​​、一度に1つのコード単位を調べます(実際には、特に小さくて決定論的な場合は、隣接する単位に波及することがよくあります)。Seleniumは、Webページ(または一連のページ)を単一のテストと見なします。Seleniumのテストでは、テストを実行するために、そのコンポーネントの多くを統合するシステムが必要です。したがって、一度に多くのことをチェックしているため、より高いレベルでテストしています。(たとえば、システムが要求に対応できること、応答が返されること、応答に期待されるデータが含まれていること、ページのボタンを押すことで正しいことを行うこと、正しいページに移動することなど)

結局のところ、何かができるからといって、そうすべきだとは限りません。両方を処理する必要がある場合は、単体テストフレームワークを介してSeleniumテストを実行すると便利です。それはあなたのために働くかもしれません、そうでないかもしれません。

于 2013-02-25T22:14:29.047 に答える