测试复杂结构

问题描述:

我正在编写小文档。我使用.NET表达式树来创建将生成文档的代码。我认为编写测试生成的表达式树结构的单元测试是不可能的,因为它只是代码,我可以用很多方式编写它来得到相同的结果。 我认为唯一的解决方案是编写集成测试,它将运行文档编译和执行并检查输出结果。 我想知道在这种情况下集成测试是否是唯一的选择?测试复杂结构

+0

了解这个系统是如何实现的(特别是使用的语言)是有用的。 –

+0

刚刚更新。我正在使用.Net(C#) – Danil

+0

我添加了一些标签,以便适当的人员可以找到您的问题。 –

我认为这是不可能写一个测试产生 表达式目录树结构单元测试,因为它只是代码

我不同意。

对于每个输入案例,您需要两个测试:一个确保为已知输入生成生成的表达式树,另一个确保在您走AST时检查发出的代码。 “不可能”?几乎不。

+0

嗯,是的,我同意这是可能的,但它是否值得检查表达式树。内部代码实现中的任何次要更新都将导致红色测试,即使它是正确的代码。 – Danil

+1

有什么选择?不检查它?在单元测试或错误生成的代码中发现您的ATS代是否被破坏会更容易吗?我更喜欢第一个。是的,当然你必须和代码一起维护测试。 – duffymo

+0

感谢您的回答。另一种方法是在写我的问题时编写集成测试。当然,测试将取决于AST生成器和文档创建代码。 – Danil