2016-09-15 6 views
1

私はVisual Studio(TestTools)でいくつかのテストケースを実装しています。私はいくつかの共通ロジックを再利用する必要があります。だから私はこのロジックをヘルパーメソッドに抽出することに決めました。これらのヘルパーメソッドからAssert.AreEqual(..)を呼び出すことをお勧めします。例えば (編集済み):ヘルパーメソッドでのアサート

[TestMethod] 
public void myTest() 
{ 
    ... 
    helperMethod(); 
    ... 
} 

private void helperMethod(int a) 
{ 
    ... 
    Assert.AreEqual("x", str); 
    ... 
    Assert.AreEqual("y", str2); 
    ... 
} 

答えて

2

私の意見ではユニットテストのためのベストプラクティスはまだ議論されているので、私はあなたがベストプラクティスは、このシナリオにあるものについては、両側からのフィードバックを得ることが確信していると私体重測定を控えようとしています。

あなたはヘルパーメソッドから値を返すと考えていましたか?

私の個人的な好みは、すべてのヘルパーメソッドをprivate/internalとしてラベル付けし、別のヘルパークラスに配置することです。

最後に、あなたのヘルパーメソッドに引数を渡していないことがわかりました。それは単に急いで書かれた例かもしれませんが、ほとんどの人が同意するベストプラクティスを指摘させてはいけません。ユニットテストメソッドやヘルパーメソッドがクラス値に依存しないようにしてください。別の言い方をすれば、すべての単体テスト方法とそのヘルパーは、pureになるように最善を尽くすべきです。

+0

コードを編集しました。自分のコードでプライベートを使用しています。私はヘルパーメソッドでパラメータを使用しています。問題は、このヘルパーメソッドにサーバーのアサートをチェックして、それが実行可能でない(カスタムオブジェクトが作成されない限り)値を返さなければならないということです。 – Jesus

+0

さらに、カスタムオブジェクトの作成やユニットテストをサポートする良いSOLIDコード。 –

関連する問題