0

我对如何进行 e2e 测试在 grails 上运行的 Angular 应用程序感到困惑。Grails 正在运行我的应用程序并提供端点,但 Karma 套件仅使用浏览器作为引擎来运行 javascript。因此,当测试执行时,我的端点不在“业力世界”中。我怎样才能做类似以下的事情?

describe('e2e', function() {

    beforeEach(function() {
        browser().navigateTo('/alerts/');
    });
}

/alerts定义端点并通过 grails 路由的地方。可以这样做,还是我必须设置某种 grails-karma 插件?

4

1 回答 1

0

是的,它可以做到。测试套件必须由(任何)服务器提供服务。业力在这里没有多大帮助,因为无论如何您都必须设置服务器。

更简单的方法:如果您的测试套件是 web 应用程序的一部分,则服务器是 grails 之一,一旦 grails 服务器启动,就可以使用 url 访问测试套件。棘手的事情是为 brower().navigateTo() 提供正确的 url,原始端点可能是正确的。然后在交付生产之前自动从网络应用程序中删除测试套件。

另一种方式:另一台服务器为测试套件提供服务,并且必须重定向请求,因为您将拥有 Grails 服务器和测试服务器。它使事情分开,但您必须修改生产代码来测试它,这也不完美。

于 2014-01-20T13:20:44.267 回答