我有例外单元测试异常财产
class SyntaxError : Exception {
public SyntaxError(int l) {
line = l;
}
public int line;
}
我使用单元测试来测试类解析器在特定的输入应该抛出上面的异常。我正在使用这样的代码:
[TestMethod]
[ExpectedException(typeof(Parser.SyntaxError))]
public void eolSyntaxError()
{
parser.reader = new StringReader("; alfa\n; beta\n\n\n\na");
parser.eol();
}
是否有任何智能简单的方法来检查是否SyntaxError.line == 1
?
最好的我想出是:
[TestMethod]
public void eolSyntaxError()
{
try {
parser.reader = new StringReader("; alfa\n; beta\n\n\n\na");
parser.eol();
Assert.Fail();
} catch (SyntaxError e) {
Assert.AreEqual(1, e.line);
}
}
我不很喜欢,有没有更好的办法?
你不喜欢它使用它? – 2015-01-26 21:41:11
这似乎必须有更简单的方法,它看起来像这么简单的东西太多代码..但如果这是最好的方式,我会这样做它 – Paladin 2015-01-26 21:42:28
如果行值的状态是相关的时间抛出异常,然后将其作为参数包含在异常中。 – Matt 2015-01-26 21:43:01