2
我正在嘗試編寫Nancy項目的測試。我已經將測試剝離爲純粹的基礎知識,但我仍然看到了一個看似奇怪的結果。使用nUnit測試Nancy模塊在測試時失敗斷言HttpStatusCode
模塊:
public class HomeModule : BaseModule
{
public HomeModule(IUserMapper mapper)
{
Get["/"] = "Hello, world!";
}
}
測試:
[Test]
public void Home_Index_should_return_response_OK()
{
var result = GetBrowser().Get("/", with => with.HttpRequest());
Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
}
斷言失敗,此消息:
預計:OK
不過是:OK
WTF?兩個結果的類型都是HttpStatusCode
,值爲「OK」。如果我向它們添加.GetValue()
或.ToString()
,斷言通過但感覺變化hack-y和某些'代碼味道'。
起初我以爲這可能是與NUnit的和測試枚舉怪癖但是當我嘗試這樣的事:
var value = ActionTargets.Suite;
Assert.AreEqual(ActionTargets.Suite,value);
它傳遞的罰款。
我認爲你可以關閉此問題或接受此答案 –
不允許你接受自己的答案2天 – nathanchere
感謝您的警示故事。您可以在ReSharper選項下取消選中「允許使用指令的別名」以防止發生這種情況。 – bonh