我们有一个简单的web服务来处理有关我们数据的查询。我想提出一组断言/案例扩展,这将提供测试响应各个方面的高级方法。例如,我可以编写assertResultCountMinimum(int)。该方法将负责构建查询,执行该查询并解压缩响应以验证数据。我也想要扩展Junit4或测试用例?
我想确保我脑海中有正确的想法,关于如何去做这件事。
首先使用正确的设置和拆卸方法创建一个我自己的测试用例类。为我们的目的,MyTestCase。然后提供一系列使用新的断言方法扩展Assert的类。这些类的最终用户将扩展MyTestCase并使用我创建的断言。这是我认为我在jWebUnit中看到的模式。
我觉得我在混合和匹配junit 3和4的概念。我很想拥有junit 4个概念。但我似乎无法在我的脑海中建立正确的方式来建立这个。此外,属于Junit的Assert类的断言方法都是静态的。我的一些断言需要重新查询web服务。这让我觉得我应该只是将断言提供为MytestCase中的一系列辅助函数。后来完成工作,但感觉不对。
任何见解,沉思,要求澄清,非常感谢。
后续编辑: 正如Jeanne建议的那样,我正在创建一个超级课程,其中包含我所有的设置/拆解方法&。实际上,我的断言实际上是辅助函数,它包含基本junit 4断言,我将其导入到我的超类中。我的任何测试将会扩展这个超级课程。我正在考虑的一个警告是制作超类抽象,因为不应该有超类的任何实例。
我最终做了大致相同的事情。如果JUnit4将断言转化为静态调用有逻辑,我就没有看到它。 ( – 2010-08-12 17:15:32