在我全新的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
可能是什么原因?
答案 0 :(得分:5)
遇到没有发现任何测试的同一问题; activator clean
解决了这个问题。
答案 1 :(得分:1)
它对我有用,因此您的问题需要更多细节才能找到有用的解决方案。
运行activator --version
以检查版本。我的基础是sbt发射器0.13.5。
➜ sandbox activator --version
sbt launcher version 0.13.5
关于激活剂本身的版本并没有太多说明(但激活剂1.2.x可能是0.13.5)。如果您的年龄较大,请升级。
使用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
总而言之,它运作良好。我不确定你的问题究竟是什么,因为我跟你的步骤一样严格地跟着问题的描述。
答案 2 :(得分:0)
当Eclipse运行时,activator clean
的解决方案有时不起作用。关闭Eclipse然后执行activator clean
然后为我工作。