Java junit:开发测试用例的最佳实践?

Java junit:开发测试用例的最佳实践?,java,xml,junit,testcase,Java,Xml,Junit,Testcase,技术:Junit最新版本 应用程序是面向业务的 有些人使用硬编码数据作为测试用例,有些人使用属性文件和一些xml文件。据我所知,xml比其他两种要好。是否有更好的方法在工业中使用。请建议开发测试用例的最佳实践 我认为没有最佳实践。我建议您使用最适合您特定问题空间的测试,以及您需要执行的测试类型。如果需要编写代码的测试本质上涉及使用大量不同输入调用方法,那么数据驱动方法(使用属性文件、XML或其他内容)是一个好主意。如果不是,那是个坏主意 需要注意的一点是,在创建复杂的基础结构时花费了太多的时间,

技术:Junit最新版本 应用程序是面向业务的


有些人使用硬编码数据作为测试用例,有些人使用属性文件和一些xml文件。据我所知,xml比其他两种要好。是否有更好的方法在工业中使用。请建议开发测试用例的最佳实践

我认为没有最佳实践。我建议您使用最适合您特定问题空间的测试,以及您需要执行的测试类型。如果需要编写代码的测试本质上涉及使用大量不同输入调用方法,那么数据驱动方法(使用属性文件、XML或其他内容)是一个好主意。如果不是,那是个坏主意


需要注意的一点是,在创建复杂的基础结构时花费了太多的时间,以便您可以整洁地编写测试代码。

测试中的数据表示与传递给被测试函数的数据之间的映射应尽可能透明,这一点很重要。如果数据很少且在源代码中易于观察,则硬编码数据是完全正常的。为了理解测试用例,您需要打开的窗口越少越好

XML最适合嵌套的树型数据,但它有点冗长。YAML也可能对这一点有好处。对于平面数据,属性和直线组织的文件都可以


没有一种格式在所有方面都优于其他格式。为特定的测试套件/主题区域选择最简单、最自然的。当您需要快速生成越来越多的测试用例时,以及当您调查回归时,在处理最自然的格式上投入一些精力确实是值得的。例如,在我们的项目(相当大)中,我们不得不发明几个数据表示和编写(简单的)自定义解析器,以便轻松地编写和读取测试用例的数据。

我会尽量使测试快速简单。测试运行得越快,可以添加到构建中的测试就越多

xml的缺点是:解析非常昂贵,从DOM中读取值也是如此。对于表格数据,我会使用某种CSV格式的平面文件。对于键/值数据,一个简单的属性文件就足够了

对于JUnit,我们处于单元测试级别,我们想知道公共接口是否根据规范实现,以及它们是否以定义的方式对所有可能的输入进行操作。因此,我通常在测试方法中硬编码测试值,因为它们通常不会改变(不需要编辑测试类之外的值)