我正在尝试进行一个Test-First开发,并且尝试验证我的类是否标记了一个属性:
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller如何对分配了该属性的类进行单元测试?
发布于 2009-08-04 07:47:55
检查一下
Attribute.GetCustomAttribute(typeof(ScheduleController),
typeof(SubControllerActionToViewDataAttribute))isn不为null (Assert.IsNotNull或类似)
(我使用它而不是IsDefined的原因是,大多数时候我也想验证属性的一些属性……)
发布于 2009-08-04 07:47:23
与您通常检查类上的属性相同。
下面是一些示例代码。
typeof(ScheduleController)
.IsDefined(typeof(SubControllerActionToViewDataAttribute), false);我认为在很多情况下,在单元测试中测试属性的存在是错误的。因为我还没有使用过MVC contrib的子控制器功能,所以我不能评论它在这种情况下是否合适。
发布于 2016-03-13 03:19:50
也可以对此使用泛型:
var type = typeof(SomeType);
var attribute = type.GetCustomAttribute<SomeAttribute>();这样,您不需要另一个typeof(...),这可以使代码更整洁。
https://stackoverflow.com/questions/1226161
复制相似问题