草庐IT

junit-ee

全部标签

java - 从 Eclipse 中的依赖 jar 运行 JUnit 测试

我有一些JUnit测试包含在.jar中,旨在用作库。该库包含一些在另一个项目中使用该库时应运行的测试。然而,当我使用库创建一个新项目并在Eclipse中运行JUnit时,依赖项.jar中的测试不会运行/不会被JUnit测试运行器检测到.我收到消息:Notestsfoundwithtestrunner'JUnit4'.有没有一种方法可以配置依赖项.jar,以便测试将与可能包含在主项目中的任何测试一起运行?基本上,我希望依赖项.jar将测试“导出”到使用它的任何项目。我使用EclipseJuno、JUnit4.10和Maven进行依赖管理。编辑:这个库的目的是能够帮助测试使用它的项目——即

java - JAAS - Java EE 6 中的 Java 编程安全性(没有 @DeclareRoles)

Java安全性是我最近几周的主要话题,我归档了以下内容:自定义Valvevalidator(扩展AuthenticatorBase)jBoss自定义登录模块(extendsUsernamePasswordLoginModule)安全端点(JAX-RS)我的主要问题是,我的端点仅适用于注释@DeclareRoles,如果我不使用它,我将无法通过身份验证。详细地说,AuthenticatorBase.invoke方法(来自org.apache.catalina.authenticator)调用方法RealmBase.hasResourcePermission并在那里检查角色。由于我不使用任

Java EE 安全性 - 登录后不重定向到初始页面

我刚开始学习JavaEE。我的目标是为羽毛球运动员实现一个Web门户(使用EJB3和JSF),用户可以在其中发布和分析他们的结果。为简单起见(事实证明并非如此)我决定使用容器提供的安全系统(JBossas7)。出现一些问题后,我设法让身份验证/授权工作。但是,我有一个问题无法解决。当我尝试访问protected页面时,正如预期的那样,我被安全系统拦截了。然而,在我登录后,我并没有被重定向到我最初请求的页面。相反,我再次被要求登录。如果我手动输入原始地址,我可以毫无问题地访问该页面。我已经阅读了很多关于stackoverflow的帖子,但未能解决我的问题。如果有人能帮助我,我将不胜感激!

java - JUnit参数化——为每个参数创建一个实例

我很生气地在Parameterizeddocumentation中找到“在运行参数化测试类时,会为测试方法和测试数据元素的叉积创建实例。”这意味着构造函数为每个测试运行一次,而不是在运行所有测试之前。我在构造函数中放入了一个昂贵的操作(1-5秒),现在该操作重复了太多次,不必要地减慢了整个测试套件。该操作只需一次即可为所有测试设置状态。如何使用参数化测试的一个实例运行多个测试? 最佳答案 我会将昂贵的操作移至@BeforeClass方法,该方法在整个参数化测试中应该只执行一次。下面是一个愚蠢的例子:@RunWith(Paramete

java - 从 Junit 运行时,System.out.print 不会输出到控制台

运行时:publicstaticvoidmain(String...args)throwsInterruptedException{while(true){System.out.print(".");Thread.sleep(200);}}对比从junit运行相同的代码时:@Testpublicvoidtest()throwsException{while(true){System.out.print(".");Thread.sleep(200);}}有不同的行为:对于main()-当进程运行时,输出按预期显示("."->".."->"...")但是,对于JUnit,当运行同一段代码时

java - JUnit 5 中的 TestName 规则等效于什么?

如何获取JUnit5中测试方法的名称? 最佳答案 在你的测试方法和JUnitwillautomaticallysupplyaninstance中声明一个TestInfo类型的参数方法的一部分:@TestvoidgetTestInfo(TestInfotestInfo){//AutomaticallyinjectedSystem.out.println(testInfo.getDisplayName());System.out.println(testInfo.getTestMethod());System.out.println(t

java - 如何为套件中的所有测试用例应用 JUnit @Rule

我正在使用JUnit4.10来运行测试套件,并且我已经按照MatthewFarwell在HowtoRe-runfailedJUnittestsimmediately?中的出色说明实现了“重试失败测试”规则。邮政。我使用以下代码创建了一个类“RetryTestRule”:publicclassRetryTestRuleimplementsTestRule{privatefinalintretryCount;publicRetryTestRule(intretryCount){this.retryCount=retryCount;}@OverridepublicStatementapply

java - JUnit 测试 "Times Out"尽管执行速度很快?

我有几个测试用例,JUnit告诉我在10000毫秒后超时,而整个测试运行仅持续几秒钟。这是输出:Testsrun:3,Failures:0,Errors:2,Skipped:0,Timeelapsed:2.528sec当整个测试运行仅持续4.3秒时,我的测试似乎不太可能因为运行时间超过10(或50)秒而超时。:)这是我用来运行测试的POM中的surefire配置:org.apache.maven.pluginsmaven-surefire-plugin${maven-surefire-plugin.version}provided**/*Tests.*有没有人对为什么会发生这种情况有任

Java EE 7 - 注入(inject) Runnable/Callable 对象

并发实用程序(JSR236)已在JavaEE7中引入。有什么办法可以将我的EJB注入(inject)到Runnable/Callable对象中吗?特别是我想要这样的东西:带有业务逻辑的ejb@LocalBeanpublicclassMyEjb{publicvoiddoSomeStuff(){...dosomestuff...}}我想在其中注入(inject)MyEjb实例的可运行/可调用类publicclassMyTaskimplementsRunnable{@EJBMyEjbmyEjb;@Overridepublicvoidrun(){...myEjb.doSomeStuff();.

java - 为什么不推荐使用 JUnit 4 中的 assertEquals(Object[], Object[])?

Eclipse向我发出警告,指出Assert类型的方法assertEquals(Object[],Object[])已弃用。我正在使用JUnit4。我在Eclipse中写了如下代码:importorg.junit.Test;importorg.junit.Assert;publicclassGenerics{publicT[]genericArraySwap(T[]list,intpos1,intpos2)throwsIndexOutOfBoundsException{...}@TestpublicvoidgenericArraySwapTest(){Integer[]IntegerL