2012-04-26 57 views
2

我为Play写了一个简单的测试课! 2.0:如何在PLAY中启动Play Framework 2.0中的手动测试! V1?

public class TestLogin { 

    @Test 
    public void test() { 
    running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>() { 
     @Override 
     public void invoke(TestBrowser browser) { 
     browser.goTo("http://localhost:3333"); 
     assertThat(browser.$("section h1").first().getText()).isEqualTo("Login"); 

     } 
    }); 
    } 
} 

在玩V1,你可以执行以下命令:

play test 

你能转到http://localhost:9000/@tests。但是现在在Play 2.0中这不起作用,它没有记录?我只是想开始我的Selenium测试,手动(每个测试用例/方法)都是自动化的(一堆测试用例)。

这怎么能在Play2.0中实现?

BTW:捉迷藏命令播放测试输出在我的终端如下:

[warn] 1 warning 
[info] No tests to run for test:test 

回答

5

你可以试试玩干净然后再试玩测试。我得到相同的“没有测试运行”消息,直到我做了一个干净的。

+0

这帮了我;-)看起来像缓存是邪恶的(但它有助于更​​快地执行) – 2012-11-06 22:00:13

1

他们是否放置在test文件夹?

你做得对,否则。命令确实是:

play test 

但是没有用于测试的网页界面。一切都通过命令行。

+0

是的,它被放置在defualt包的测试文件夹中,因此没有包但是测试文件夹根目录中的类... – adis 2012-04-26 13:33:53

+0

添加了更多信息。 – 2012-04-27 13:54:35

+0

嗯,为什么这些依赖需要,我没有在剧本文档中看到这个?但很高兴知道,没有网络界面,我期待一个:-) – adis 2012-04-27 14:25:05

0

这一点似乎是,测试类必须在'测试'包。这意味着,你必须插入'包装测试';在你的java文件的顶部。

对我来说,这会在IDE中创建一条错误消息,但播放控制台上的“测试”命令按预期运行测试。

0

我通过添加“扩展TestCase”来修复它。只有@Test注释是不够的。