草庐IT

junit-ee

全部标签

java - 一名测试观察员报告 JUnit Suite 中各个测试的结果

所以我有一个套件,像这样:@RunWith(Suite.class)@Suite.SuiteClasses({TestClass1.class,TestClass2.class,TestClass3.class})publicclassTestSuite{staticListextentTestList=newArrayList();@ClassRulepublicstaticExtentWatcherextentWatcher=newExtentWatcher(){@Overrideprotectedvoidstarting(Descriptiondescription){exten

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 - 审计大型 java/j2ee web 应用程序的最佳方法是什么

我必须审核一个经过数年发展的大型WebJava/J2ee应用程序年。它是由其他公司编写的,而不是我正在为之工作的公司。在它的当前状态已变得难以发展和维护,新的功能很难添加,并且经常导致有时会出现的错误生产。似乎有一些复制/粘贴代码导致代码重复。当前的应用程序是某种在线购物,到处都有一些类似cms的内容。它主要是代码的较新部分中的Struts和一些Spring,也许还有一些ejbs好措施。有一些可用的单元测试,但不是很多。这些是我被告知的事情,我还没有看到实际的代码。我的公司将提议重写此应用程序的部分内容以减少复杂性,提高质量和模块化,并使添加更容易成为可能没有回归的新功能。在做出任何p

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

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

java - 了解谁提供 servlet-api.jar,它是 Web 容器还是 Java EE 下载的一部分

我需要了解编译servlet所需的serlvet-api.jar。我正在构建一个简单的servlet,如下所示:importjavax.servlet.*;importjavax.servlet.http.*;publicclassFirstServletextendsHttpServlet{//Remainingcodehere}我知道我们需要servlet-api.jar文件来编译这个简单的servlet,如下所示:javac-classpath/path/where/jar/is/servlet-api.jar现在我的疑惑从这里开始:servlet-api.jar是什么?谁提供了

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

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

java - 如何在 Java EE 应用程序中接收电子邮件

显然,通过JavaMail从JavaEE应用程序发送电子邮件并不难。我感兴趣的是接收电子邮件(主要是通知退回)的最佳模式?我对基于IMAP/POP3的方法(轮询收件箱)不感兴趣-我的应用程序应react入站电子邮件。我能想到的一种方法是保留现有的MTA(在我的例子中是linux上的postfix)->运营团队已经知道如何配置/操作它对于每封到达的邮件,生成一个Java应用程序来接收数据并通过JMS将其发送出去。我可以通过/etc/aliases中的一个条目来做到这一点,例如myuser:"|/path/to/javahelper"javahelper调用Java应用程序,同时传递STD

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

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