我不知道我应该在这里做什么。我应该硬编码所有的值还是应该让它们处于CONST变量中。我看到的所有东西似乎都难以编码,所以我不确定。我可以在单元测试中做到这一点吗?
这就是我现在正在做的事情。
在我的控制器中说我有一个验证测试,以检查用户是否尝试提交一个空白字段的表单。
现在我会有一个if语句检查空白或空变量。如果发生这种情况,我会将错误添加到ModelState中,并附带一条我写的错误消息。
所以在我的单元测试中,我想确保如果提交一个空白的表单变量被捕获。
现在在我的单元测试我只是做了一个const varible和复制和粘贴的。
所以我断言我比较有什么实际信息与存储在我的CONST Varrible消息的确认消息。我通过调用模型状态来完成此操作,并将该字段调用到我期望出现错误的地方。 。
喜欢:
result.ViewData.ModelState [ “用户名”]错误[0];
所以如果消息在那里,那么它一定已经进入我的代码,否则它不会存在。
所以它发生在我身上,也许我应该创建一个新的类,它将是静态的并保存所有这些CONST变量。
这样,控制器视图和单元测试都可以使用它们。这样,如果我要更改错误消息,那么我只需要将其更改为一个地方。由于我不测试错误消息是什么,如果它被设置,我正在测试。
同样的事情说异常我有一些自定义消息,但我不测试,如果消息是正确的,更多如果预期被抓住。
虽然我测试它的方式是看看消息是否是我期望的消息,因为如果它不是消息或消息不存在,那么出现了问题。
我是新来的单元测试,所以我想确保我要做的事情不会如何搞砸我的单元测试。
对我来说这是有道理的,但我认为更好的检查首先。
感谢
这就是我的意思是关于CONST变量: http://msdn.microsoft.com/en-us/library/e6w8fe1b(VS.71).aspx 其次像我说我是单元测试新手,还有一些是我写的第一个测试。 所以我不知道如何测试,否则。我不确定如何判断这种情况是否以其他方式得到满足,因为这就是所有情况。 所以不知道我会如何测试说没有检查消息我的验证错误我不知道我可以测试的错误消息的其他属性。 – chobo2 2009-06-28 07:33:24
如果你只关心是否存在错误,那么在抛出错误时设置一个变量并使用它。如果你说了你正在使用的单元测试框架,并发布了一些代码,这将会有所帮助。 – 2009-06-28 08:05:58