阅读Dancer::测试文档使得做一个测试看起来很简单,但是我遗漏了一些东西。如果我有以下Dancer应用程序(WebApp.pm):
package WebApp;
use Dancer;
# declare routes/actions
get '/' => sub {
"Hello World";
};
dance;然后是下面的测试文件001_base.t
use strict;
use warnings;
use Test::More tests => 1;
use WebApp;
use Dancer::Test;
response_status_is [GET => '/'], 200, "GET / is found";然后,当我运行测试:perl 001_base.t时,输出是舞者脚本启动:
Dancer 1.3132 server 7679 listening on http://0.0.0.0:3000
== Entering the development dance floor ...但等着呢。(这与我只是在WebApp.pm中运行代码一样)。我在这里错过了什么?我想我没有正确地进行测试。
发布于 2015-06-20 22:18:18
您应该从dancer()中删除WebApp.pm。以下是正确的内容:
package WebApp;
use Dancer;
# declare routes/actions
get '/' => sub {
"Hello World";
};
1;那么你的测试就会通过。
创建舞者应用程序的常见方法是在一个或多个.pm文件中声明所有路由,并有一个通常称为app.psgi的文件,其内容如下:
#!/usr/bin/env perl
use Dancer;
use WebApp;
dance;然后,要启动web应用程序,您应该运行perl -Ilib app.psgi。
https://stackoverflow.com/questions/30958368
复制相似问题