SimpleTest conversion: Difference between revisions
From MoodleDocs
Line 19: | Line 19: | ||
! Notes | ! Notes | ||
|- | |- | ||
| <code | | <code>$this->assertEqual($expected, $actual)</code> | ||
| <code | | <code>$this->assertEquals($expected, $actual)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertNotEqual($expected, $actual)</code> | ||
| <code | | <code>$this->assertNotEquals($expected, $actual)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertWithinMargin($expected, $actual, $margin)</code> | ||
| <code | | <code>$this->assertEquals($expected, $actual, '', $margin)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertIdentical($expected, $actual)</code> | ||
| <code | | <code>$this->assertSame($expected, $actual)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertNotIdentical($expected, $actual)</code> | ||
| <code | | <code>$this->assertNotSame($expected, $actual)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertTrue($actual)</code> | ||
| <code | | <code>$this->assertTrue((bool)$a, $b)</code> | ||
| SimpleTest converts parameter to bool | | SimpleTest converts parameter to bool | ||
|- | |- | ||
| <code | | <code>$this->assertFalse($actual)</code> | ||
| <code | | <code>$this->assertFalse((bool)$a, $b)</code> | ||
| SimpleTest converts parameter to bool | | SimpleTest converts parameter to bool | ||
|- | |- | ||
| <code | | <code>$this->assertIsA($actual, $classname)</code> | ||
| <code | | <code>$this->assertInstanceOf($classname, $actual)</code> | ||
| only objects | | only objects | ||
|- | |- | ||
| <code | | <code>$this->assertIsA($actual, 'array')</code> | ||
| <code | | <code>$this->assertEquals('array', gettype($actual))</code> | ||
| arrays only | | arrays only | ||
|- | |- | ||
| <code | | <code>$this->assertPattern($pattern, $string)</code> | ||
| <code | | <code>$this->assertRegExp($pattern, $string)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->assertNoPattern($pattern, $string)</code> | ||
| <code | | <code>$this->assertNotRegExp($pattern, $string)</code> | ||
| | | | ||
|- | |- | ||
| <code | | <code>$this->expectException(true)</code> | ||
| <code | | <code>$this->setExpectedException('exception_classname')</code> | ||
| alternatively use phpdocs: @expectedException exception_classname | | alternatively use phpdocs: @expectedException exception_classname | ||
|- | |- | ||
| <code | | <code>$this->expectError()</code> | ||
| <code | | <code>$this->setExpectedException('PHPUnit_Framework_Error')</code> | ||
| alternatively use phpdocs: @expectedException PHPUnit_Framework_Error | | alternatively use phpdocs: @expectedException PHPUnit_Framework_Error | ||
|- | |- | ||
| various HTML expectations | | various HTML expectations | ||
| <code | | <code>$this->assertTag()</code> | ||
| | | | ||
|} | |} |
Revision as of 20:09, 20 April 2012
Overview
The migration is pretty straightforward:
- create new test file in `xxx/tests/yyy_test.php`
- copy contents of the old test file
- replace
extends UnitTestCase
withextends basic_testcase
andextends UnitTestCaseUsingDatabase
withextends advanced_testcase
- move constructor code to setUp
- fix setUp(), tearDown()
- fix assert syntax
- add $this->resetAfterTest() in advanced test cases that modify database
- add missing global $CFG for includes outside of testcase classes
Assert differences
SimpleTest | PHPUnit | Notes |
---|---|---|
$this->assertEqual($expected, $actual)
|
$this->assertEquals($expected, $actual)
|
|
$this->assertNotEqual($expected, $actual)
|
$this->assertNotEquals($expected, $actual)
|
|
$this->assertWithinMargin($expected, $actual, $margin)
|
$this->assertEquals($expected, $actual, , $margin)
|
|
$this->assertIdentical($expected, $actual)
|
$this->assertSame($expected, $actual)
|
|
$this->assertNotIdentical($expected, $actual)
|
$this->assertNotSame($expected, $actual)
|
|
$this->assertTrue($actual)
|
$this->assertTrue((bool)$a, $b)
|
SimpleTest converts parameter to bool |
$this->assertFalse($actual)
|
$this->assertFalse((bool)$a, $b)
|
SimpleTest converts parameter to bool |
$this->assertIsA($actual, $classname)
|
$this->assertInstanceOf($classname, $actual)
|
only objects |
$this->assertIsA($actual, 'array')
|
$this->assertEquals('array', gettype($actual))
|
arrays only |
$this->assertPattern($pattern, $string)
|
$this->assertRegExp($pattern, $string)
|
|
$this->assertNoPattern($pattern, $string)
|
$this->assertNotRegExp($pattern, $string)
|
|
$this->expectException(true)
|
$this->setExpectedException('exception_classname')
|
alternatively use phpdocs: @expectedException exception_classname |
$this->expectError()
|
$this->setExpectedException('PHPUnit_Framework_Error')
|
alternatively use phpdocs: @expectedException PHPUnit_Framework_Error |
various HTML expectations | $this->assertTag()
|