1
我現在有這樣的單元測試與StreamWriter的空隙方法的參數之一
public void BusinessMethod(object value, StreamWriter sw)
{
//Calls a private method that converts the data in `value` to a custom formatted string variable `str`
string str = myPrivateMethod(value);
//write the string to stream
sw.Write(str);
}
的方法,我想測試使用的方法,這方法提到here並準確地做同樣的事情。但是,我的result
字符串作爲空字符串返回。我無法更改方法簽名。如何測試這種方法?我正在使用Nunit進行測試。
這是我的測試方法
[Test]
public void My_Test()
{
MyPoco dto = new MyPoco();
//set up the dto properties here
using (var stream = new MemoryStream())
using (var writer = new StreamWriter(stream))
{
sut.BusinessMethod(dto, writer);
string result = Encoding.UTF8.GetString(stream.ToArray());
}
}
什麼是你試圖驗證精確行爲? –
我想,如果在發送給'BusinessMethod'的DTO被寫入流或不進行驗證。這就是所有'BusinessMethod'所負責的。 – user20358
既然你的測試沒有斷言,它實際上並沒有測試任何東西。你能提供一個包含所有相關代碼的最小再現案例嗎? –