Thucydides can not create report, when @TestData contains array.

31 views
Skip to first unread message

tellet

unread,
Apr 11, 2013, 4:42:30 AM4/11/13
to thucydid...@googlegroups.com
I'm using JUnit 4.10 and thucydides 0.9.103. Test example is:

@RunWith(ThucydidesParameterizedRunner.class)
public class MyPageTest {
@TestData
public static Collection<Object[]> testData() {
return Arrays.asList(new Object[][]{
{ "someParam",Arrays.asList(new Object[] {MainPage.class} ) }
}

private List<Class<CommonPage>> pageClass;
        private String param;

public AllPagesTest(String param, List<Class<CommonPage>> pageClass) {
                this.param = param;
  this.pageClass = pageClass;
}

@Test
public void validatePages() {
zinaSteps.open(pageClass.get(0));
                System.out.print(param);
}

When I launch this. Test passes but I got an error:
Error on line 152, column 55 in freemarker/default.ftl
Expecting a string, date or number here, Expression value is instead a freemarker.template.SimpleSequence
The problematic instruction:
----------
==> ${value} [on line 152, column 53 in freemarker/default.ftl]
----------

Java backtrace for programmers:
----------
freemarker.core.NonStringException: Error on line 152, column 55 in freemarker/default.ftl
Expecting a string, date or number here, Expression value is instead a freemarker.template.SimpleSequence
at freemarker.core.Expression.getStringValue(Expression.java:126)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
at freemarker.core.Environment.visit(Environment.java:428)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
at freemarker.core.Environment.visit(Environment.java:428)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:259)
at net.thucydides.core.reports.templates.FreemarkerReportTemplate.merge(FreemarkerReportTemplate.java:30)
at net.thucydides.core.reports.html.HtmlReporter$Merger.usingContext(HtmlReporter.java:119)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.generateReportFor(HtmlAcceptanceTestReporter.java:125)
at net.thucydides.core.reports.ReportService.generateReportFor(ReportService.java:105)
at net.thucydides.core.reports.ReportService.generateReportsFor(ReportService.java:80)
at net.thucydides.junit.runners.ThucydidesParameterizedRunner.generateReportsFor(ThucydidesParameterizedRunner.java:169)
at net.thucydides.junit.runners.ThucydidesParameterizedRunner.generateReports(ThucydidesParameterizedRunner.java:165)
at net.thucydides.junit.runners.ThucydidesParameterizedRunner.run(ThucydidesParameterizedRunner.java:160)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:234)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
14:26:21 ERROR [main]: net.thucydides.core.reports.templates.FreemarkerReportTemplate merge                     Syntax error in report template: Error on line 152, column 55 in freemarker/default.ftl
Expecting a string, date or number here, Expression value is instead a freemarker.template.SimpleSequence
----------
==> ${value} [on line 152, column 53 in freemarker/default.ftl]

John Smart

unread,
Apr 11, 2013, 6:24:26 AM4/11/13
to tellet, thucydid...@googlegroups.com
Looks like a bug - could you raise an issue in JIRA?


--
You received this message because you are subscribed to the Google Groups "Thucydides Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to thucydides-use...@googlegroups.com.
To post to this group, send an email to thucydid...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
___________________________________________________
John Smart | Wakaleo Consulting  |  +61 407 247 642
Optimizing your software development process
http://www.wakaleo.com  |  john....@wakaleo.com
Reply all
Reply to author
Forward
0 new messages