Questions tagged «junit»

流行的Java和Scala单元测试框架。最新版本的JUnit 5支持基于注释的丰富测试和参数化测试。考虑与Java或Scala标记结合使用以指示您的用例。

7
java.lang.NoClassDefFoundError:com / sun / mail / util / MailLogger for Java Mail的JUnit测试用例
我正在使用Java Mail API读取和解析电子邮件。它可以与Servlet代码一起正常工作。 现在,出于相同的目的,我试图编写一个JUnit测试用例。但是在网上 Session session = Session.getDefaultInstance(properties);我得到以下异常: java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger at javax.mail.Session.initLogger(Session.java:227) at javax.mail.Session.<init>(Session.java:212) at javax.mail.Session.getDefaultInstance(Session.java:315) at javax.mail.Session.getDefaultInstance(Session.java:355) at com.vxl.appanalytix.dataload.fromEmail.EmailParser.parseEmailSubject(EmailParser.java:44) at com.vxl.appanalytix.controllers.controllerClasses.GenericEmailServiceClass.readEmailAttachments(GenericEmailServiceClass.java:33) at com.vxl.appanalytix.dataload.GenericEmailTestCase.test(GenericEmailTestCase.java:42) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231) at …
127 junit  javamail 

6
Junit:拆分集成测试和单元测试
我继承了Junit测试的负载,但是这些测试(除了大多数无法正常工作的测试)是实际单元测试和集成测试(需要外部系统,数据库等)的混合。 因此,我正在尝试一种将它们实际分离出来的方法,以便可以快速好地运行单元测试,然后进行集成测试。 选项是.. 将它们分成单独的目录。 从v3迁移到Junit4,并注释类以将它们分开。 使用文件命名约定来告诉类是什么,即AdapterATest和AdapterAIntergrationTest。 3的问题是Eclipse可以选择“运行所选项目/程序包或文件夹中的所有测试”。因此,仅运行集成测试将非常困难。 2:冒着开发人员可能开始在单元测试类中编写集成测试的风险,并且变得一团糟。 1:似乎是最巧妙的解决方案,但是我的直觉说必须有更好的解决方案。 这就是我的问题,您如何将集成测试和适当的单元测试分开?

12
JUnit与TestNG [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 10个月前关闭。 改善这个问题 在工作中,我们目前仍在使用JUnit 3运行测试。我们一直在考虑切换到JUnit 4来编写新的测试,但是一段时间以来我一直在关注TestNG。你们都对JUnit 4或TestNG有什么经验,对于大量测试似乎更有效?灵活地编写测试对我们也很重要,因为我们的功能测试涵盖了广泛的方面,需要以多种方式编写才能获得结果。 旧测试不会被重写,因为它们做得很好。我希望在新的测试中看到的是,可以灵活地编写测试,自然断言,分组和易于分布的测试执行方式。
125 java  testing  junit  testng 

7
春季测试和安全性:如何模拟身份验证?
我试图弄清楚如何对我的控制器的URL进行正确保护的单元测试。以防万一有人更改周围的内容并意外删除安全设置。 我的控制器方法如下所示: @RequestMapping("/api/v1/resource/test") @Secured("ROLE_USER") public @ResonseBody String test() { return "test"; } 我像这样设置一个WebTestEnvironment: import javax.annotation.Resource; import javax.naming.NamingException; import javax.sql.DataSource; import org.junit.Before; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.FilterChainProxy; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import …

15
执行JaCoCo时获得“由于缺少执行数据文件而跳过JaCoCo执行”
我正在使用Maven 3.0.3,JUnit 4.8.1和Jacoco 0.6.3.201306030806,并且正在尝试创建测试覆盖率报告。 我有一个仅包含单元测试的项目,但是我无法运行报告,我反复遇到错误:Skipping JaCoCo execution due to missing execution data file运行时: mvn clean install -P test-coverage 这是我的pom的配置方式: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.14.1</version> <configuration> <reuseForks>true</reuseForks> <argLine>-Xmx2048m</argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.14.1</version> <configuration> <reuseForks>true</reuseForks> <argLine>-Xmx4096m -XX:MaxPermSize=512M ${itCoverageAgent}</argLine> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> ... <profile> <id>test-coverage</id> …
123 maven  junit  jacoco 


6
初始化模拟对象-MockIto
有很多方法可以使用MockIto初始化模拟对象。其中最好的方法是什么? 1。 public class SampleBaseTestCase { @Before public void initMocks() { MockitoAnnotations.initMocks(this); } 2。 @RunWith(MockitoJUnitRunner.class) [编辑] 3。 mock(XXX.class); 如果有其他方法可以建议我...
122 java  junit  mockito 

11
一遍又一遍地运行相同的junit测试的简单方法?
就像标题所说的那样,我正在寻找一种使用Eclipse自动连续多次运行JUnit 4.x测试的简单方法。 一个示例是连续运行相同的测试10次并报告结果。 我们已经有一个复杂的方法来执行此操作,但是我正在寻找一种简单的方法来执行此操作,以便可以确保我一直试图修复的不稳定测试保持不变。 理想的解决方案是我不知道的Eclipse插件/设置/功能。
121 java  eclipse  junit 

9
最佳实践:在setUp()或声明中初始化JUnit类字段?
我应该在这样的声明中初始化类字段吗? public class SomeTest extends TestCase { private final List list = new ArrayList(); public void testPopulateList() { // Add stuff to the list // Assert the list contains what I expect } } 还是像这样在setUp()中? public class SomeTest extends TestCase { private List list; @Override protected void setUp() throws Exception …
120 java  junit 

10
Junit-一次运行设置方法
我通过几个测试设置了一个类,而不是使用一个@Before我希望有一个在所有测试之前仅执行一次的设置方法的类。Junit 4.8有可能吗?
119 java  junit 

2
src / androidtest和src / test文件夹有什么区别?
在一个项目中,默认情况下,在Android Studio中有两个测试文件夹。 首先是src/androidTest。此文件夹在先前版本的Android Studio中已经存在。不过,现在有一个新的测试文件夹,默认情况下src/test,新的依赖,testCompile 'junit: junit: 4.12'在build.gradle。 我使用哪个文件夹进行测试?两者之间有什么区别?

3
是否将JUnit类分成特殊的测试包?
我通过阅读学习测试驱动开发的概念工匠的文章(点击工匠下按主题)在回答中建议我刚才的问题,“学习JUnit和适当的软件工程样品工程”。到目前为止,我喜欢它! 但是现在我想坐下来自己尝试一下。我有一个问题,希望只需要一个简单的答案。 您如何组织JUnit测试类和实际代码?我主要是在谈论包的结构,但是注释的任何其他概念也将有所帮助。 您是否将测试类放在org.myname.project.test。*中,将普通代码放在org.myname.project。*中?您是否将测试课程放在普通课程的旁边?您是否愿意在类名前面加上Test而不是给它们加上后缀? 我知道这似乎是我不应该担心的事情,但是我是一个非常以组织为中心的人。我几乎是那种花费更多时间找出方法来跟踪要完成的事情,而不是实际完成工作的人。 我有一个项目,目前已将其整齐地分为多个软件包,但该项目变得一团糟。我不想尝试重构所有内容并编写测试,而是想重新开始,首先进行所有测试。但是首先我需要知道我的测试要去哪里。 编辑:我完全忘记了Maven,但似乎大多数人都在使用它!过去我有一个特定的用例,其中Maven完全崩溃了,但Ant给了我所需的灵活性,所以我最终还是依附于Ant,但是我想也许我只是在采用错误的方法。我想我会再尝试一下Maven,因为听起来好像可以很好地进行测试驱动的开发。
118 java  unit-testing  junit 

10
JUnit:如何避免测试实用程序类中的“无可运行方法”
我已经从JUnit3.8切换到JUnit4.4。我使用ant运行测试,所有测试均成功运行,但测试实用程序类失败,并显示“无可运行方法”错误。我使用的模式是在测试文件夹下包括所有名称为* Test *的类。 我知道,运行程序找不到任何带有@Test属性注释的方法。但是它们不包含此类注释,因为这些类不是测试。令人惊讶的是,当在Eclipse中运行这些测试时,它不会抱怨这些类。 在JUnit3.8中,这根本不是问题,因为这些实用程序类没有扩展TestCase,因此运行程序没有尝试执行它们。 我知道我可以在ant脚本的junit目标中排除这些特定的类。但我不想在添加的每个新实用程序类上更改构建文件。我还可以重命名班级(但是,给班级起好名字始终是我最薄弱的天赋:-)) 有没有解决这个问题的优雅方法?
117 java  ant  junit  testing 

8
如何断言比使用JUnit声明更大?
我有这些值来自测试 previousTokenValues[1] = "1378994409108" currentTokenValues[1] = "1378994416509" 我尝试 // current timestamp is greater assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1])); 我得到了java.lang.AssertionError,detailMessage关于调试是null。 我如何在使用中断言比条件更大 JUnit
117 java  junit 

23
运行JUnit测试时未找到类异常
在Eclipse中运行JUnit测试时出现此错误: Class not found com.myproject.server.MyTest java.lang.ClassNotFoundException: com.myproject.server.MyTest at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) JUnit尽管我正在使用maven,但我尝试在类路径中添加库,而JUnit库位于POM依赖项中。 我已经尝试清理项目,并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然遇到相同的错误。
117 java  eclipse  junit 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.