我找到了关于这个主题的这篇文章,并尝试了以下方法:
public class FailerAttr : Attribute {
public FailerAttr(string s) {
throw new Exception("I should definitely fail!");
}
}
在单元测试项目中,我有以下内容:
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class Test {
[TestMethod]
public void GoFail() {
// Make sure attribute will get initialized
new Failer();
}
private class Failer {
[FailerAttr("")]
public int Prop { get; set; }
}
}
当我运行测试时,它成功了。所以问题是:
- 为什么它没有失败?
- 从属性中抛出异常真的是一个不好的想法吗?因为我认为我需要这样做。
一些环境信息(以防相关):
- 通过 ReSharper 的单元测试运行程序(R# v8.2.0.2160)运行单元测试
- Visual Studio v11.0.61030.0