私は昨日から単体テストについて学んだばかりで、今日は特にMockとNSub
について読んでいました。 私が持っている問題は、その背後にある哲学と考え方が得られないということです。だから、私の本を読んで、たとえばこれに来た:単体テスト用モックを作成するときに私たちは横たわっています
[Test]
public void Returns_ByDefault_WorksForHardCodedArgument()
{
IFileNameRules fakeRules = Substitute.For<IFileNameRules>();
fakeRules.IsValidLogFileName(Arg.Any<String>())
.Returns(true);
Assert.IsTrue(fakeRules.IsValidLogFileName("anything.txt"));
}
OKので、最初私たちはいくつかの実際の作業を行い、その中に実際のメソッドを持っている実際のクラスのインタフェースを表すために、偽のオブジェクトを作ります。次に、そのメソッドを呼び出しますが、trueを返すようにも指示します。 それからそれが真実に戻っているかどうかを確認するためにそれを主張しますか?まあ、それが真実を返す前に、私たちはそれを1行だけ言いました!今我々はそれが真実に戻ってテストします!彼らは私達が大丈夫と言って良かった? 私はそれを得ることはありません!私にこのように感じる:先生は質問に答えると答えをイエスに伝えるために子供に話す。そして質問に答えて、子供がはいと答え、試験に合格したと尋ねる。
テストするクラスを模擬したり、スタブしたりしないでください。その依存関係のみ。 –
@YacoubMassadロイのユニットテストの本ですので、この愚かな言葉を使って構文を教えてくれましたか? – Bohn
これは本の例ですか?そのまま? –