[TYPO3-german] Functional unit testing: Problem

Bernhard Kraft kraftb at kraftb.at
Wed Dec 31 14:44:34 CET 2014


Hallo,

Für eine meiner Extensions schreibe ich für das Upgrade auf 6.2 auch 
functional unit tests. Die Extensions muss Inhaltselemente in 
verschiedenen Inhaltsspalten (colPos) korrekt behandeln. Hierbei stoße 
ich mit dem bestehend unit testing framework (phpunit + core Unit test 
Klassen) auf ein Problem.

Ich habe den "JsonRenderer.ts" erweitert:
-----------------------------------------------
<INCLUDE_TYPOSCRIPT: 
source="FILE:EXT:core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts">

page.20 < page.10

page.20.20.select.where = colPos=10
page.20.stdWrap.postUserFunc.as = ContainerColumn
-----------------------------------------------

Nun frage ich in meinen Unit Tests die Inhalte von "ContainerColumn" ab:

-----------------------------------------------
$responseSections = 
$this->getFrontendResponse(self::VALUE_PageId)->getResponseSections('ContainerColumn');
$this->assertThat($responseSections, 
$this->getRequestSectionDoesNotHaveRecordConstraint() 
 
->setTable(self::TABLE_Content)->setField('header')->setValues('Contained Element 
#3'));
-----------------------------------------------

Seitdem ich mein eigenes erweitertes Fixture "JsonRenderer.ts" verwendet 
habe schien das auch alles zu funktionieren. Nur mir eben jenem 
"doesNotHave" record constraint tauchte ein Problem auf.

Ich habe das ganze weiterverfolgt und festgestellt, dass der constraint 
einfach "$responseSections->records" verwendet in dem alle Records auf 
der gerenderten Seite registriert sind.

Sollte der Constraint nicht "$responseSections->structure" verwenden? In 
diesem sind nur genau jene Datensätze welche über 
"getResponseSections('SECTION_NAME')" in der jeweiligen Sektion 
gerendert wurden.

Oder benutze ich das Unit-Testing Framework hier falsch?


grüße,
Bernhard





More information about the TYPO3-german mailing list