问题内容: 我正在使用以下方法比较junit中的文本文件: 这是比较文本文件的好方法吗?什么是首选? 问题答案: junit-addons对它有很好的支持:FileAssert 它为您提供了如下异常:
问题内容: 我对JUnit还是很陌生,我真的不知道对于异常和异常处理有什么最佳实践。 例如,假设我正在为IPAddress类编写测试。它具有一个构造函数IPAddress(String addr),如果addr为null,则将抛出InvalidIPAddressException。据我可以从谷歌搜索中得知,对null参数的测试将如下所示。 在这种情况下,try / catch很有意义,因为我知道异
问题内容: 我有一个集成测试套件。我有一门课可以扩展我的所有测试。该基类具有()和()方法来建立API和数据库连接。我一直在做的只是在每个测试用例中覆盖这两个方法,并调用和。但是,如果有人忘记调用super或将它们放置在错误的位置并抛出异常,并且他们忘记在final或某物中调用super,则这可能会导致问题。 我想做的是在基类上创建和方法,然后仅添加我们自己的注释和方法。进行一些初始测试后,似乎总
问题内容: 我不明白JUnit 4.8如何与Hamcrest匹配器一起工作。有内部定义了一些匹配器在。同时,也有一些 其他 的匹配器中。那么,去哪儿呢?我是否应该在项目中明确包含hamcrest JAR并忽略JUnit提供的匹配器? 特别是,我对匹配器感兴趣,并且在任何这些jar中都找不到。我还需要其他东西吗?:) 还有一个哲学问题:为什么JUnit将包包含在自己的发行版中而不是鼓励我们使用原始的
问题内容: 我应该在这样的声明中初始化类字段吗? 还是像这样在setUp()中? 我倾向于使用第一种形式,因为它更简洁,并且允许我使用最终字段。如果我 不需要 使用setUp()方法进行设置,是否仍应使用它,为什么? 澄清: JUnit将每个测试方法实例化一次测试类。这意味着无论我在哪里声明,每次测试都会创建一次。这也意味着测试之间没有时间依赖性。因此,使用setUp()似乎没有任何优势。但是,J
问题内容: 在Eclipse中运行JUnit测试时出现此错误: 尽管我正在使用maven,但我尝试在类路径中添加库,而JUnit库位于POM依赖项中。 我已经尝试清理项目,并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然遇到相同的错误。 问题答案: 出现这种情况的原因是,使用时只有源代码正在编译(我使用的是maven 3.1.0,所以我不确定它是否始终如此)。 如果运行
问题内容: 我可以使用以下代码检查列表中是否包含大于30的项目。 但是,如何确定一个列表中是否至少有2个大于30的项目? 使用,我知道有解决方案。但是我不知道如何用来实现这一点。 问题答案: 您可以创建自己的特定匹配器,例如: 然后像这样使用它: 当然,这需要一些工作。而且不是很通用。但这有效。 另外,您可以在特定的测试方法中简单地“迭代”您的列表。
问题内容: 在工作中,我们目前仍在使用JUnit 3运行测试。我们一直在考虑切换到JUnit 4来编写 新的 测试,但是一段时间以来我一直在关注TestNG。大家都对JUnit 4或TestNG有什么经验,对于大量测试似乎更有效?灵活地编写测试对我们也很重要,因为我们的功能测试涵盖广泛的方面,并且需要以多种方式编写才能获得结果。 旧测试不会被重写,因为它们做得很好。我希望在新的测试中看到的是,可以
问题内容: 您如何自动化集成测试?我将JUnit用于其中一些测试。这是解决方案之一,还是完全错误?你有什么建议? 问题答案: JUnit可以工作。没有任何限制将其限制为仅单元测试。我们使用JUnit,Maven和CruiseControl来执行CI。 可能有一些特定于集成测试的工具,但我认为它们的用处取决于所集成的系统组件的类型。JUnit可以很好地用于非UI类型测试。
问题内容: 有没有更好的方法来编写jUnit 问题答案: 如果添加Hamcrest和JUnit4,则可以执行以下操作: 通过一些静态导入,它看起来要好得多: 所需的静态导入将是:
问题内容: 我们的工具包具有15000多个JUnit测试,并且已知许多测试会在其他测试失败的情况下失败。例如,如果方法X.foo()使用Y.bar()中的功能并且YTest.testBar()失败,则XTest.testFoo()也将失败。显然,由于特定于X.foo()的问题,XTest.testFoo()也可能会失败。 尽管这很好并且我仍然希望两个测试都能运行,但是如果可以用指向XTest.te
问题内容: 我是Java的新手,并且正在关注Eclipse Total Beginner’s Tutorials 。它们都很有帮助,但是在第12课中,他将一个测试用例用于另一个测试用例。这是代码: 我在这些方法上搜索了很好的文档,但没有发现任何东西。如果我的理解是正确的,以及显示的字符串时,第二个参数的计算结果为false。如果是这样,将它们都包含在什么地方? 编辑:我想我看到了什么让我感到困惑。
问题内容: 我想在某些模型类上运行单元测试(Junit),这些模型通常会发送电子邮件确认发生了什么事情。是否有可以与单元测试一起使用的模拟电子邮件服务器,该服务器可以让您确认您的运行尝试发送电子邮件而不实际发送电子邮件? 这似乎很高兴,只是不确定我是否想自己写。电子邮件方面的应用程序堆栈是Velocity + Spring,因此如果可以通过简单地更改applicationContext.xml文件
问题内容: 正如Android文档所说:“请注意,Android测试API支持JUnit 3代码样式,但不支持JUnit4。” (测试基础知识)。应该清楚的是,Android无法立即使用JUnit 4。 但是为什么会这样呢?是因为测试是在DVM中执行的(因为Android Runtime仅支持JUnit 3)?在JVM上,自己可以选择应使用的JUnit运行时。在DVM中这是不可能的吗? 问题答案:
问题内容: 我在使用Eclipse Neon M7来使JUnit插件测试正常工作时遇到了一些问题,我真的很希望来自使用测试的任何人的输入(必须有人来,对吗?)。 每当我开始在Eclipse Luna中运行的测试(但在Mars中却没有,我认为这是一个错误)并且继续使用Tycho进行工作时,都会得到以下异常: 显然,这不是Eclipse错误,但我做错了。没有迹象表明测试中会启动哪种插件,但是从版本范围