2

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

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

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

4

1 回答 1

1

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

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

感谢您引起我的注意!

于 2013-04-11T12:38:05.773 回答