草庐IT

Junit-Tests

全部标签

java - 使用单独的类加载器运行每个 JUnit 测试(不,真的)

我如何让JUnit为其执行的每个测试类使用单独的ClassLoader?我正在为设置大量静态变量的库编写JUnitTestRunner。我基本上想在每个测试类之间重置所有这些,而不需要知道它们是什么。我不想与框架的深入知识相结合,因为每当库内部发生变化时,我的TestRunner就会崩溃。在我继续之前,我想绝对清楚地表明我真的想要这样做。我无法控制图书馆。我没有不使用静态变量的选择。我不想使用反射或Powermock,因为我不想知道库中发生了什么。我不想使用Maven配置来fork测试过程,因为这样测试实用程序就会绑定(bind)到构建工具。我在StackOverflow上找到的所有其

JUnit单元测试常用方法知识整理

目录一、为什么要进行测试二、什么是单元测试三、IDEA下创建JUnit1.JUnit5是什么?2.自动创建JUnit四、JUnit用法1.基础测试方法2.注解3.使用断言4.假设5.显示名称6.禁用7.@Before和@After8.嵌套测试9.参数化测试10.重复测试11.设置时间限制12.测试异常五、总结一、为什么要进行测试        我们在写程序的时候,往往最难的部分不是代码的编写,而是之后的debug阶段,我们都经历过花大量时间去检查代码,最后发现只是简单的错误导致了bug。而在实际应用中,对于我们所开发的程序来讲,仅仅让它跑起来是远远不够的,程序在运行过程中可能会遇到各种问题,用

java - 如何从 gradle 运行 Junit TestSuites?

我正尝试在我的项目中从Ant构建迁移到Gradle。有一堆测试用例(junit.framework.TestCase的子类)和很少的测试套件(junit.framework.TestSuite的子类)。Gradle会自动选取要运行的所有测试用例(junit.framework.TestCase的子类),但不会选取套件(junit.framework.TestSuite的子类)。我可能可以通过调用ant.junit来运行它来解决这个问题。但是,我觉得应该有一种native的简单方法来强制gradle选择它们并运行。我在文档中找不到任何内容。我错过了什么吗? 最

java - 在@Before 方法中停止 JUnit 测试而不失败

这些是我的测试用例classMother{@BeforepublicvoidsetUp(){if(!this.getClass().isAnnotatedWith("Version20")){//pseudocode/**stopthistestwithoutfailing!*/}//furthersetup}}@Version20classChildextendsMother{@Testpublicvoidtest(){//runonlywhenVersion==20}}是否可以在不失败或assertTrue(false)的情况下在Mother的@Before方法中停止Child中的

java - 是否真的有必要在 JUnit 拆卸方法中使对象无效?

这个问题在这里已经有了答案:JUnit-shouldIassignnulltoresourcesintearDownthatwereinstantiatedinsetUp?(3个答案)关闭7年前。我对answer很感兴趣到一个类似的问题。我认为这是不正确的。所以我创建了一些测试代码。我的问题是,这段代码是否证明/反驳/不确定在拆卸方法中取消成员变量有用的假设?我用JUnit4.8.1测试了它。JUnit为4个测试中的每一个都创建了一个新的测试类实例。每个实例都包含一个Objectobj。此obj也作为静态WeakHashMap的键插入。如果并且当JUnit释放它对测试实例的引用时,关联

java - 如何使用 JUnit 中的规则访问测试类的字段

我想编写一个JUnit@Rule(版本4.10)来设置一些对象(实体管理器)并通过将其“注入(inject)”到变量中使它们在测试中可用。像这样:publicclassMyTestClass(){@RuleMyEntityManagerInjectRule=newMyEntityManagerInjectRule()://MyEntityManagerInjectRule"inject"theentitymanagerEntityMangerem;@Test...}问题是我不知道如何在MyEntityManagerInjectRule(扩展TestRule)中获取MyTestClass

java - 错误“在 Junit 测试中没有公共(public) TestCase(字符串名称)或 TestCase()

我是junittestandroid的初学者。我正在关注thistutorial但是得到这个错误junit.framework.AssertionFailedError:Classcom.example.projectfortest.test.MainActivityTesthasnopublicconstructorTestCase(Stringname)orTestCase()atandroid.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)atandroid.test.AndroidTestRunner.run

java - JUnit @Ignore 有用吗?

在JUnit中,您可以在方法前使用@Ignore来告诉测试运行器自动跳过这些测试。据我所知,这实际上只是一种方便的方式来记录/标记您想要稍后返回的不完整/不再功能测试。那么我说的对吗,在运行时,@Ignore测试、没有注释的方法和注释掉的方法之间没有区别?(假设这些测试都是自包含的。)有没有办法在Netbeans上的JUnit中获取被忽略的测试用例列表?如果不是,@Ignore标签真正有多少用处,因为它可能在测试失败时更有用,这样它就不会被忽略? 最佳答案 AmIcorrectinsayingthen,thatatruntimeth

java - JUnit断言,值介于两个整数之间

我需要为我编写的算法编写JUnit测试,该算法输出两个已知值之间的随机整数。我需要一个JUnit测试(即assertEquals之类的测试)断言输出值介于(或不介于)这两个整数之间。即我有值5和10,输出将是5到10之间的随机值。如果测试为正,则数字介于两个值之间,否则不是。 最佳答案 @TestpublicvoidrandomTest(){intrandom=randomFunction();inthigh=10;intlow=5;assertTrue("Error,randomistoohigh",high>=random);a

spring boot 单元测试JUnit5使用MockMvc调用get请求,post请求,设置head请求头,解析返回值json和字符串

springboot单元测试JUnit5使用MockMvc调用get/post接口源码地址:https://gitcode.net/qq_39339588/springboot.git1.先准备一份controller,一会儿供测试调用packagespace.goldchen.springboot.test;importorg.springframework.web.bind.annotation.*;importspace.goldchen.springboot.entity.User;/***使用mockMvc调用get/post请求地址*@authorchenzhao*@create2