草庐IT

java.lang.Exception : No tests found matching Method using Intellij IDEA

我遇到了IntellijIDEA2016.3的奇怪行为。当我得到java.lang.Exception:NotestsfoundmatchingMethodfoo时,有一个带有方法foo的类和该方法的JUnit测试。在我执行mvntest后它成功,然后在执行mvn命令后立即运行单元测试,它突然运行绿色。似乎IDEA不会自动编译。我该如何解决这个问题?附:升级到v.2016.3后未更改任何设置 最佳答案 如果您使用的是理论测试框架,例如Junit's或Robolectric's,请确保运行包含所需测试的类,而不是测试本身。由于这些框架

Java单元测试框架 - JUnit

导航我们为什么需要单元测试框架?为工程添加JUnit支持编写JUnit单元测试案例JUnit常用注解JUnit常用断言JUnit案例Spring整合我们为什么需要单元测试框架?  当我们需要对一段代码进行测试时,怎么样让他快速跑起来呢?一个很自然的想法是编写一个main()方法,然后运行一些测试代码,我想各位大多都用过这种方法。  但是使用main()方法测试有很多缺点:一个类只能有一个main()方法,难以同时编写多个测试案例;没有详细的测试结果,如期望值、实际值等,若想实现,则需要自行开发的代码量过多;如果需要用到Spring容器等,则简单的main()方法实现起来也不再简单。  因此,我

java - junit如何处理异常

我写了一些测试用例来测试一些方法。但是有些方法会抛出异常。我做得对吗?privatevoidtestNumber(Stringword,intnumber){try{assertEquals(word,service.convert(number));}catch(OutOfRangeNumberExceptione){Assert.fail("Testfailed:"+e.getMessage());}}@TestpublicfinalvoidtestZero(){testNumber("zero",0);}如果我通过-45,它将因OutOfRangeException而失败,但我无

java - junit如何处理异常

我写了一些测试用例来测试一些方法。但是有些方法会抛出异常。我做得对吗?privatevoidtestNumber(Stringword,intnumber){try{assertEquals(word,service.convert(number));}catch(OutOfRangeNumberExceptione){Assert.fail("Testfailed:"+e.getMessage());}}@TestpublicfinalvoidtestZero(){testNumber("zero",0);}如果我通过-45,它将因OutOfRangeException而失败,但我无

java - 如何比较 Java 8 中的两个流

比较Java8中的两个Stream实例并确定它们是否具有相同元素(特别是用于单元测试)的好方法是什么?我现在得到的是:@TestvoidtestSomething(){Streamexpected;StreamthingUnderTest;//(...)Assert.assertArrayEquals(expected.toArray(),thingUnderTest.toArray());}或者:Assert.assertEquals(expected.collect(Collectors.toList()),thingUnderTest.collect(Collectors.toL

java - 如何比较 Java 8 中的两个流

比较Java8中的两个Stream实例并确定它们是否具有相同元素(特别是用于单元测试)的好方法是什么?我现在得到的是:@TestvoidtestSomething(){Streamexpected;StreamthingUnderTest;//(...)Assert.assertArrayEquals(expected.toArray(),thingUnderTest.toArray());}或者:Assert.assertEquals(expected.collect(Collectors.toList()),thingUnderTest.collect(Collectors.toL

java - 为不同的 JUnit 测试使用不同的类加载器?

我有一个Singleton/Factory对象,我想为其编写JUnit测试。Factory方法根据类路径上的属性文件中的类名来决定要实例化哪个实现类。如果没有找到属性文件,或者属性文件不包含类名键,则该类将实例化一个默认实现类。由于工厂保留了单例的静态实例,以便在实例化后使用,为了能够在工厂方法中测试“故障转移”逻辑,我需要在不同的类加载器中运行每个测试方法。JUnit(或其他单元测试包)有没有办法做到这一点?编辑:这里是一些正在使用的工厂代码:privatestaticMyClassmyClassImpl=instantiateMyClass();privatestaticMyCla

java - 为不同的 JUnit 测试使用不同的类加载器?

我有一个Singleton/Factory对象,我想为其编写JUnit测试。Factory方法根据类路径上的属性文件中的类名来决定要实例化哪个实现类。如果没有找到属性文件,或者属性文件不包含类名键,则该类将实例化一个默认实现类。由于工厂保留了单例的静态实例,以便在实例化后使用,为了能够在工厂方法中测试“故障转移”逻辑,我需要在不同的类加载器中运行每个测试方法。JUnit(或其他单元测试包)有没有办法做到这一点?编辑:这里是一些正在使用的工厂代码:privatestaticMyClassmyClassImpl=instantiateMyClass();privatestaticMyCla

java - 如何为使用网络连接的类编写 jUnit 测试

我想知道使用jUnit测试在以下类中测试方法“pushEvent()”的最佳方法是什么。我的问题是,私有(private)方法“callWebsite()”总是需要连接到网络。如何避免此要求或重构我的类以使我可以在不连接网络的情况下对其进行测试?classMyClass{publicStringpushEvent(Eventevent){//dosomethinghereStringurl=constructURL(event);//constructthewebsiteurlStringresponse=callWebsite(url);returnresponse;}private

java - 如何为使用网络连接的类编写 jUnit 测试

我想知道使用jUnit测试在以下类中测试方法“pushEvent()”的最佳方法是什么。我的问题是,私有(private)方法“callWebsite()”总是需要连接到网络。如何避免此要求或重构我的类以使我可以在不连接网络的情况下对其进行测试?classMyClass{publicStringpushEvent(Eventevent){//dosomethinghereStringurl=constructURL(event);//constructthewebsiteurlStringresponse=callWebsite(url);returnresponse;}private