私は、nunitとRhino mockを使って次のようなクラスの単位を書いています。単体テストで期待される引数でプライベートメソッドが呼び出されたかどうかを確認する方法は?
Class MyClass
{
private void M()
{
N("Hi");
}
private void N(string text)
{
........ do something
}
}
メソッドMの単体テストでは、メソッドNが引数 "Hi"で呼び出されたかどうかをチェックしたいと思います。どうすればいいのですか?
ブライアンは、私は完全ので、私が行っていることは、私は法Nに対するリターンユニットテストを持っているので、メソッドの実行結果を確認するつもりはないあなたに同意しますが、私のクラスメソッドNにいくつかの場所で呼ばれていますメソッドMの単体テストではNです。私の場合は、メソッドNはメソッドMの結果に対してほとんど貢献しません。 – Prithis
あなたは1つのクラスであまりにも多くのことをしようとしている可能性があります。メソッドが別のクラスにリファクタリングされるべきではないかどうか確かめてください –
それがいくつかの場所でリファクタリングしてコードを使用している場合。メソッドを一般に見えるようにしてテストします。その後、コード内でそのクラスを使用できますが、実装の詳細は隠しておくことができます。 – Finglas