我已經看過使用TDD和MVP模式創建小型應用程序的視頻。此視頻顯示在這裏:TDD模型視圖演示者使用MOQ
該視頻使用犀牛嘲笑,任何人都可以闡明如何使用起訂量來實現相同的測試。
因此,如果我在下面的代碼如何編寫測試(使用MOQ)來測試Init()方法?
public interface IGui
{
event eventhandler UpdateFromDataSource;
}
public class Gui :IGui
{
button.Click += delegate { UpdateFromDataSource(); }
}
public class GuiPresenter
{
IGui gui;
public GuiPresenter(IGui gui)
{
this.gui = gui;
}
public Init()
{
gui.UpdateFromDataSource += delegate {//something};
}
}
由於
CA
你總是可以在事件轉換爲委託,然後斷言有多少應該出現狀態的變化。不記得要使用的確切成員,但我知道他們在那裏。也就是說,這些測試只驗證事件是否有聽衆。你仍然不知道他們是否是正確的聽衆,或者他們是否做對了。測試結果:點擊按鈕時你想要發生什麼。忘記那個視頻,這只是其中的一種。 – 2011-09-13 08:41:42