我刚刚开始使用grails 2.3,我在运行单元测试时遇到了问题.到目前为止我所做的是我跑了
grails create-app new-app
grails create-service NewService
grails test-app
Run Code Online (Sandbox Code Playgroud)
这产生了
| Running 1 unit test...
| Completed 0 unit test, 0 failed in 0m 2s
| Tests PASSED - view reports in C:\Git\aspera_web\target\test-reports
Run Code Online (Sandbox Code Playgroud)
到目前为止这么好,但如果我编辑方法
void "test something"() {
}
Run Code Online (Sandbox Code Playgroud)
在NewServiceSpec类中
void "test something"() {
assert false
}
Run Code Online (Sandbox Code Playgroud)
又跑了我又来了
| Running 1 unit test...
| Completed 0 unit test, 0 failed in 0m 2s
| Tests PASSED - view reports in C:\Git\aspera_web\target\test-reports
Run Code Online (Sandbox Code Playgroud)
然后我查看了spock文档并尝试再次编辑我的测试.这一次来
void "test something"() {
expect: 1 == …Run Code Online (Sandbox Code Playgroud) 现在我正在尝试生成XML并从Perl中打印出来.我发现这个模块,XML :: Write,看起来相当不错.但是当我想尝试一下时,我遇到了一些相当奇怪的错误......
我的测试脚本看起来像这样
#!/usr/local/bin/perl -w
use strict;
use strict 'refs';
use XML::Writer;
my $writer = XML::Writer->new(OUTPUT => 'self');
$writer->xmlDecl("ISO-8859-1");
$writer->startTag("foo");
$writer->endTag("foo");
$writer->end;
print $writer->to_string;
Run Code Online (Sandbox Code Playgroud)
当我运行它时,唯一的输出是
无法在/usr/lib/perl5/site_perl/5.8.8/XML/Writer.pm第132行通过包"self"找到对象方法"print"(也许你忘了加载"self"?).
我错过了什么?我是否必须安装一些额外的模块才能使perl的OO部分可用?我应该以某种方式安装旧版本的XML :: Write,因为我有一个相当古老的Perl版本?
任何帮助,将不胜感激!
我有一个从API返回的JSON,所以我无法更改它,问题是其中一个属性有时是一个空字符串,有时它是一个对象.
有时当我调用它时,foo是一个空字符串
{
"foo" : "",
"bar" : 0
}
Run Code Online (Sandbox Code Playgroud)
而在其他时候它是一个对象
{
"foo" : {"baz": 11},
"bar" : 2
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用杰克逊做到这一点?到目前为止,我发现的唯一方法是编写自定义解串器/串行器对.我对这种方法的问题是,这是一个深度嵌套的JSON结构,并且违规属性接近根...