繁体   English   中英

为什么JUnit测试不能在Play 2.3.1 / Java项目中运行?

[英]Why doesn't JUnit test work in Play 2.3.1/Java project?

在我全新的Play 2.3.1 Java应用程序中,我编写了第一个测试,但它们根本不起作用。 我启动了activator test ,一个简单的测试类直接放在test目录中的默认包中未到达。

import org.junit.Assert;
import org.junit.Test;

public class TestTest {

    @Test
    public void testTest() {
        Assert.assertEquals(true, false);
    }
}

当我启动activator testOnly TestTest ,我有以下输出:

[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for test:testOnly
[success] Totaltime: 6 s, completed 11 juil. 2014 09:08:38

可能是什么原因 ?

遇到没有找到测试的同一问题; activator clean解决了这个问题。

它对我有用,因此您的问题需要更多细节才能找到有用的解决方案。

运行activator --version来检查版本。 我的基础是sbt发射器0.13.5。

➜  sandbox  activator --version
sbt launcher version 0.13.5

它没有说激活剂本身的版本(但激活剂1.2.x可能是0.13.5)。 升级如果您的年龄较大。

Ran activator new my-brand-new-play-app play-java创建一个Play / Java应用程序。

➜  sandbox  activator new my-brand-new-play-app play-java

Fetching the latest list of templates...

OK, application "my-brand-new-play-app" is being created using the "play-java" template.

To run "my-brand-new-play-app" from the command line, "cd my-brand-new-play-app" then:
/Users/jacek/sandbox/my-brand-new-play-app/activator run

To run the test for "my-brand-new-play-app" from the command line, "cd my-brand-new-play-app" then:
/Users/jacek/sandbox/my-brand-new-play-app/activator test

To run the Activator UI for "my-brand-new-play-app" from the command line, "cd my-brand-new-play-app" then:
/Users/jacek/sandbox/my-brand-new-play-app/activator ui

然后我将TestTest类复制到test/TestTest.java而没有任何更改:

➜  my-brand-new-play-app  cat test/TestTest.java
import org.junit.Assert;
import org.junit.Test;

public class TestTest {

    @Test
    public void testTest() {
    Assert.assertEquals(true, false);
    }
}

随着创建测试文件的唯一变化,我运行了activator test 经过大量文件下载后,结果如下:

➜  my-brand-new-play-app  activator test
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/my-brand-new-play-app/project
[info] Set current project to my-brand-new-play-app (in build file:/Users/jacek/sandbox/my-brand-new-play-app/)
[info] ApplicationTest
[info] + ApplicationTest.simpleCheck
[info] + ApplicationTest.renderTemplate
[info]
[info]
[info] Total for test ApplicationTest
[info] Finished in 0.015 seconds
[info] 2 tests, 0 failures, 0 errors
[error] Test IntegrationTest.test failed: <''> should contain the String:<'Your new application is ready.'>, took 1.742 sec
[info] IntegrationTest
[info] x IntegrationTest.test
[error] sbt.ForkMain$ForkError: <''> should contain the String:<'Your new application is ready.'>
[error]     at org.fest.assertions.Fail.failure(Fail.java:228)
[error]     at org.fest.assertions.Assert.failure(Assert.java:149)
[error]     at org.fest.assertions.StringAssert.contains(StringAssert.java:73)
[error]     at IntegrationTest$1.invoke(IntegrationTest.java:23)
[error]     at IntegrationTest$1.invoke(IntegrationTest.java:20)
[error]     at play.test.Helpers.running(Helpers.java:549)
[error]     at play.test.Helpers.running(Helpers.java:536)
[error]     at IntegrationTest.test(IntegrationTest.java:20)
[info]
[info]
[info] Total for test IntegrationTest
[info] Finished in 0.005 seconds
[info] 1 tests, 1 failures, 0 errors
[error] Test TestTest.testTest failed: expected:<true> but was:<false>, took 0.0 sec
[info] TestTest
[info] x TestTest.testTest
[error] sbt.ForkMain$ForkError: expected:<true> but was:<false>
[error]     at org.junit.Assert.fail(Assert.java:88)
[error]     at org.junit.Assert.failNotEquals(Assert.java:743)
[error]     at org.junit.Assert.assertEquals(Assert.java:118)
[error]     at org.junit.Assert.assertEquals(Assert.java:144)
[error]     at TestTest.testTest(TestTest.java:8)
[info]
[info]
[info] Total for test TestTest
[info] Finished in 0.002 seconds
[info] 1 tests, 1 failures, 0 errors
[error] Failed: Total 4, Failed 2, Errors 0, Passed 2
[error] Failed tests:
[error]     IntegrationTest
[error]     TestTest
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 3 s, completed Jul 10, 2014 11:27:04 PM

TestTest测试确实已执行。

我还使用'testOnly TestTest'执行了TestTest,如下所示:

➜  my-brand-new-play-app  activator 'testOnly TestTest'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/my-brand-new-play-app/project
[info] Set current project to my-brand-new-play-app (in build file:/Users/jacek/sandbox/my-brand-new-play-app/)
[error] Test TestTest.testTest failed: expected:<true> but was:<false>, took 0.003 sec
[info] TestTest
[info] x TestTest.testTest
[error] sbt.ForkMain$ForkError: expected:<true> but was:<false>
[error]     at org.junit.Assert.fail(Assert.java:88)
[error]     at org.junit.Assert.failNotEquals(Assert.java:743)
[error]     at org.junit.Assert.assertEquals(Assert.java:118)
[error]     at org.junit.Assert.assertEquals(Assert.java:144)
[error]     at TestTest.testTest(TestTest.java:8)
[info]
[info]
[info] Total for test TestTest
[info] Finished in 0.012 seconds
[info] 1 tests, 1 failures, 0 errors
[error] Failed: Total 1, Failed 1, Errors 0, Passed 0
[error] Failed tests:
[error]     TestTest
[error] (test:testOnly) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 1 s, completed Jul 10, 2014 11:29:37 PM

总而言之,它运作良好。 我不确定你的问题究竟是什么,因为我跟你的步骤一样严格,因为问题的描述是允许的。

当Eclipse运行时,带有activator clean的解决方案有时不起作用。 关闭Eclipse然后然后将activator clean ,为我工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM