在对象的所有公共属性上生成断言语句

时间:2012-01-11 07:55:48

标签: .net resharper mstest t4

在我目前的项目中,我们希望通过一组集成测试来测试从sql到datamodels的映射。

为此,我们需要基本断言对象的所有公共属性 有没有办法为对象上的所有公共属性自动生成断言语句?设定期望值将是我们的工作,但编写众多断言陈述的艰苦工作将是计算机可以做的事情。

我正在考虑使用T4模板或者利用resharper的强大功能?

3 个答案:

答案 0 :(得分:1)

您可以使用的是Visual Studio的测试生成:

1. Open the class file;
2. Right-click within it;
3. Click on the Create Unit Tests ... option
4. Setup where you want to generate your tests from the dialog

答案 1 :(得分:1)

您可以通过创建满足您需求的插件来利用ReSharper的强大功能。 This guide会让你开始。

答案 2 :(得分:1)

T4听起来也像一个简单的省力选项。也很有趣,而且文档量很大(不像制作一个Resharper插件)。确保将T4模板放在不同的程序集中,以便您可以使用@assembly指令来引用要为其生成测试的程序集。然后,从T4模板内部直接使用反射来遍历类的属性。或类似的东西。

确保使用完整路径引用程序集(或将其放在GAC中)。

我建议使用tangible T4 editor(不需要捆绑的“建模工具”)来获得一些不错的语法高亮和智能感知。