在FluentSecurity中测试自定义PolicyViolationHandler

时间:2013-03-27 22:06:11

标签: unit-testing fluent-security

我通过实施ISecurityPolicy在FluentSecurity(实现IPolicyViolationHandler)和相应的PolicyViolationHandler中编写了自定义策略。一切都与策略和处理程序完美配合,但是我通过编写一些单元测试来测试我的IPolicyViolationHandler.Handle(PolicyViolationException exception)实现,从而做了一些回填。 我知道我在实施后向后编写测试(避免火焰入场)。

我的问题是:有没有办法生成一个PolicyViolationException对象作为模拟,我可以传入我的测试? PolicyViolationException没有任何公共构造函数(因此我不能创建新对象),也没有抽象基础或模拟对象(使用Moq)。

我查看了API,但没有看到生成一个的东西。我知道我可以做一些反思魔法来得到一个,但想检查我是否遗漏了什么。

1 个答案:

答案 0 :(得分:1)

在版本2.0-alpha4之前的版本中,这是不可能的。但是,此问题将在FluentSecurity的即将发布的2.0-beta1版本中得到解决,其中构造函数将被公开。

https://github.com/kristofferahl/FluentSecurity/commit/09e9b69ef5a297d242f8a813babbeebd47b54818

感谢您引起我的注意!