你如何使Postsharp可测试

时间:2013-02-14 14:43:36

标签: postsharp aspect

依赖注入在Postsharp中不起作用。如何使方面可测试?我真的想避免创建具体的类来记录我的方面。

当我是单元测试方法时,我不希望方面运行。如果我正在测试一个方法,我不希望在测试期间触发日志记录方面并尝试创建具体的记录器。

我喜欢Postsharp的想法并且真的想要使用它,但这两个问题似乎给我带来了太多麻烦。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

对于某些第三方工具,例如log4net,配置语言足够强大,您可以在单元测试项目中以一种方式配置(例如)日志记录方面,以及实际项目中的另一种方式。因此,即使在单元测试中,日志记录方面也会运行,但实际上可能

对于其他工具或您自己的自定义解决方案,您最好编程到方面逻辑内的接口。然后,基于静态配置文件或项目特定的设置代码,您可以为生产代码指定接口的一个实现,为单元测试项目指定另一个实现(可能是没有副作用或更好的存根实现,记录什么发生在单元测试的潜在验证中)。

答案 1 :(得分:0)

更好:您可以使用MSBuild命令在单元测试项目中禁用PostSharp。请参阅this discussion

答案 2 :(得分:0)