我正在尝试为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);
它过得很好。
答案 0 :(得分:4)
Argggh ....我已被重新庇护......
我刚刚在文件的顶部找到了这个,我确定我自己没有把它放在那里。
using HttpStatusCode = System.Net.HttpStatusCode;
这里要学到的教训:不要盲目地依靠工具来为你思考。