草庐IT

hamcrest-junit

全部标签

java - maven错误: package org. junit不存在

我正在尝试使用maven创建javadoc,但它失败了。验证时也会失败。mvnverify我收到以下错误:(...)[INFO]-------------------------------------------------------------[ERROR]COMPILATIONERROR:[INFO]-------------------------------------------------------------[ERROR]/home/miquel/creaveu/createOmegaMatrix/src/main/java/edu/url/salle/gtm/hn

java - 如何为接口(interface)编写junit测试?

为接口(interface)编写junit测试以便将它们用于具体实现类的最佳方法是什么?例如你有这个接口(interface)和实现类:publicinterfaceMyInterface{/**Returnthegivenvalue.*/publicbooleanmyMethod(booleanretVal);}publicclassMyClass1implementsMyInterface{publicbooleanmyMethod(booleanretVal){returnretVal;}}publicclassMyClass2implementsMyInterface{publ

junit 中的 java.lang.NoClassDefFoundError

我在junit测试代码中的java中遇到此错误。我在网上查了一下,说需要在classpath中添加junit.jar。在Eclipse中,我已将它添加到项目属性窗口的类路径中,但仍然出现初始化错误。我该怎么办..?这是错误的完整轨迹:java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribingatjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClassCond(UnknownSource)atjava.lang.Class

java - 如何在 Maven 中按类别运行 JUnit 测试?

使用JUnit4.8和新的@Category注释,有没有办法选择一个类别的子集来运行Maven的Surefire插件?例如我有:@Testpublicvoida(){}@Category(SlowTests.class)@Testpublicvoidb(){}我想运行所有非慢速测试,如下所示:(注意-Dtest.categories是由我组成的......)。mvntest-Dtest.categories=!SlowTests//runnon-slowtestsmvntest-Dtest.categories=SlowTests//runonlyslowtestsmvntest-Dt

java - 如何在 JUnit 4 中运行属于某个类别的所有测试

JUnit4.8包含一个名为“Categories”的不错的新功能,它允许您将某些类型的测试组合在一起。这非常有用,例如对慢速和快速测试进行单独的测试。我知道JUnit4.8releasenotes中提到的东西,但想知道我如何才能实际运行所有带有特定类别注释的测试。JUnit4.8发行说明显示了一个示例套件定义,其中SuiteClasses注释从特定类别中选择要运行的测试,如下所示:@RunWith(Categories.class)@IncludeCategory(SlowTests.class)@SuiteClasses({A.class,B.class})//NotethatCa

java - 使用模拟用户输入进行 JUnit 测试

我正在尝试为需要用户输入的方法创建一些JUnit测试。被测方法有点像下面的方法:publicstaticinttestUserInput(){Scannerkeyboard=newScanner(System.in);System.out.println("Giveanumberbetween1and10");intinput=keyboard.nextInt();while(input10){System.out.println("Wrongnumber,tryagain.");input=keyboard.nextInt();}returninput;}有没有一种可能的方法来自动传

java - 断言与 JUnit 断言

今天我看到了一个JUnit测试用例,它使用java断言而不是JUnit断言——选择一个比另一个有明显的优点或缺点吗? 最佳答案 在JUnit4中,JUnit断言抛出的异常(实际上是Error)与javaassert关键字(AssertionError)抛出的错误相同,因此它与assertTrue完全相同除了堆栈跟踪之外,您无法区分。话虽如此,断言必须在JVM中使用特殊标志运行,导致许多测试似乎通过,因为有人在运行JUnit测试时忘记使用该标志配置系统-不好。一般来说,正因为如此,我认为使用JUnitassertTrue是更好的做法,

java - 使用 JUnit 测试 Controller 和服务的最佳方法是什么?

我有这个SpringMVCController:@Controller@RequestMapping(value="/foo")publicclassFooController{@InjectprivateFooServicefooService;@RequestMapping(value="foo/new")publicfinalStringadd(finalModelMapmodel){model.addAttribute(fooService.createFoo());return"foo/detail";}@RequestMapping(value="foo/{id}")pub

java - 使用 JUnit 5 的 spring-boot-starter-test

从2.0.6开始使用spring-boot-starter-test会引入JUnit4依赖项。如何使用spring-boot-starter-test(通过Gradle),但使用JUnit5,而不引入JUnit4依赖项?如果有帮助,这里是Gradle的依赖输出的一部分:+---org.springframework.boot:spring-boot-starter-test->2.0.5.RELEASE|+---org.springframework.boot:spring-boot-starter:2.0.5.RELEASE(*)|+---org.springframework.bo

java - 如何改进我的junit测试

是的,我的junit测试看起来很长:我创建了4个用户我删除了1个用户我尝试使用已删除的用户登录并确保失败我使用剩下的3个用户之一登录并验证我可以登录我将消息从一个用户发送给另一个用户,并验证它是否出现在发件人的发件箱和收件人的收件箱中。我删除消息......优势:测试非常有效(非常擅长检测错误)并且非常稳定,因为它们只使用API,如果我重构代码,那么测试也会被重构。由于我不使用诸如在给定状态下保存和重新加载数据库之类的“肮脏技巧”,因此我的测试忽略了架构更改和实现更改。缺点:测试变得难以维护,测试中的任何更改都会影响其他测试。测试运行8-9分钟,这对于持续集成非常有用,但对开发人员来说