【发布时间】:2013-10-10 17:20:57
【问题描述】:
我正在尝试为 Nancy 项目编写测试。我已经将我的测试剥离到最基础的部分,但仍然得到一个看似奇怪的结果。
模块:
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);
}
断言失败并显示以下消息:
预期:好的
但是是:好的
WTF? 两个结果的类型均为HttpStatusCode,值为“OK”。如果我将.GetValue() 或.ToString() 都添加到它们,断言会通过,但感觉会有所不同hack-y 和一些“代码气味”。
起初我认为这可能是 nUnit 和测试枚举的一个怪癖,但当我尝试这样的事情时:
var value = ActionTargets.Suite;
Assert.AreEqual(ActionTargets.Suite,value);
一切顺利。
【问题讨论】:
标签: unit-testing enums nunit nancy