私は、VB.netの他の開発者によって設計され書かれたかなり複雑なシステムに単体テストを改造しています。私はを試して、NUnitとNUnitフォーム拡張を使ってGUIフォームの単体テストを開発しようとしています。 (私は解決策があれば移植するのはかなり簡単ですが、NUnitクラスを使用している限りVB構文を知らないC#の例を見てきました)VB.net NUnit(2.5)Windowsフォームテスト - これは可能です
私は何をしているのですか最初にプログラムの簡単な説明。基本的にサーバーの動作を監視します。 IPとポートのフィールドを持つモーダルフォームを使用してサーバーに接続する必要があります。サーバーに接続すると、プログラムの他の部分がロック解除され、使用可能になります(サーバーの構成など)。
所望のプロセス:ロードプログラム>>モーダルログイン状態に>メインフォームの更新を接続するには、[OK]をクリックします> [詳細を入力>フォームの負荷を接続する接続ボタンをクリックしてください>他の機能
問題は、私がテストすることができないということです接続フォームの機能、およびプログラムのログイン機能を使用します。私はそれがロードモーダル接続フォームを正しくテストすることができます。詳細を入力して[OK]をクリックします(これまでのところすべて正常です)が、プログラムを論理的に進めるようには見えません。モーダルフォームは、プログラムのバックエンドから接続コードを実行しなくても一見閉じることができます。メインメニューに戻り、何もログインしていません。
私は本当に明白な何かを見逃してしまった、あるいは単にNUnitで実行できないと感じています。私は類似のものを探すためにインターネットを罠に掛けましたが、最も近いものは本当に一般的な別のSOスレッドでした。実際にログインしたバージョンのプログラムをテストすることができなくても、大きな障害になっています。 別の問題は、一意の識別子を持たないメッセージボックスを処理することです(「終了してもよろしいですか?これらはまた、NUnitのお尻の大きな痛みのように思えます
(何か違いがあれば、スタンドアロンプロジェクトとして、ビルドされたプロジェクトの実行可能ファイルへの参照を使用してテストを実行しています。実際のソース)
必要に応じてテストコードの一部を掲載することができます。
ありがとう、私はこれを調べます。 – AlistairC