[ Index ] |
|
Code source de PRADO 3.0.6 |
1 Simple Test interface changes 2 ============================= 3 Because the SimpleTest tool set is still evolving it is likely that tests 4 written with earlier versions will fail with the newest ones. The most 5 dramatic changes are in the alpha releases. Here is a list of possible 6 problems and their fixes... 7 8 Failure to connect now emits failures 9 ------------------------------------- 10 It used to be that you would have to use the 11 getTransferError() call on the web tester to see if 12 there was a socket level error in a fetch. This check 13 is now always carried out by the WebTestCase unless 14 the fetch is prefaced with WebTestCase::ignoreErrors(). 15 The ignore directive only lasts for test case fetching 16 action such as get() and click(). 17 18 No method SimpleTestOptions::ignore() 19 ------------------------------------- 20 This is deprecated in version 1.0.1beta and has been moved 21 to SimpleTest::ignore() as that is more readable. In 22 addition, parent classes are also ignored automatically. 23 If you are using PHP5 you can skip this directive simply 24 by marking your test case as abstract. 25 26 No method assertCopy() 27 ---------------------- 28 This is deprecated in 1.0.1 in favour of assertClone(). 29 The assertClone() method is slightly different in that 30 the objects must be identical, but without being a 31 reference. It is thus not a strict inversion of 32 assertReference(). 33 34 Constructor wildcard override has no effect in mocks 35 ---------------------------------------------------- 36 As of 1.0.1beta this is now set with setWildcard() instead 37 of in the constructor. 38 39 No methods setStubBaseClass()/getStubBaseClass() 40 ------------------------------------------------ 41 As mocks are now used instead of stubs, these methods 42 stopped working and are now removed as of the 1.0.1beta 43 release. The mock objects may be freely used instead. 44 45 No method addPartialMockCode() 46 ------------------------------ 47 The ability to insert arbitrary partial mock code 48 has been removed. This was a low value feature 49 causing needless complications.It was removed 50 in the 1.0.1beta release. 51 52 No method setMockBaseClass() 53 ---------------------------- 54 The ability to change the mock base class has been 55 scheduled for removal and is deprecated since the 56 1.0.1beta version. This was a rarely used feature 57 except as a workaround for PHP5 limitations. As 58 these limitations are being resolved it's hoped 59 that the bundled mocks can be used directly. 60 61 No class Stub 62 ------------- 63 Server stubs are deprecated from 1.0.1 as the mocks now 64 have exactly the same interface. Just use mock objects 65 instead. 66 67 No class SimpleTestOptions 68 -------------------------- 69 This was replced by the shorter SimpleTest in 1.0.1beta1 70 and is since deprecated. 71 72 No file simple_test.php 73 ----------------------- 74 This was renamed test_case.php in 1.0.1beta to more accurately 75 reflect it's purpose. This file should never be directly 76 included in test suites though, as it's part of the 77 underlying mechanics and has a tendency to be refactored. 78 79 No class WantedPatternExpectation 80 --------------------------------- 81 This was deprecated in 1.0.1alpha in favour of the simpler 82 name PatternExpectation. 83 84 No class NoUnwantedPatternExpectation 85 ------------------------------------- 86 This was deprecated in 1.0.1alpha in favour of the simpler 87 name NoPatternExpectation. 88 89 No method assertNoUnwantedPattern() 90 ----------------------------------- 91 This has been renamed to assertNoPattern() in 1.0.1alpha and 92 the old form is deprecated. 93 94 No method assertWantedPattern() 95 ------------------------------- 96 This has been renamed to assertPattern() in 1.0.1alpha and 97 the old form is deprecated. 98 99 No method assertExpectation() 100 ----------------------------- 101 This was renamed as assert() in 1.0.1alpha and the old form 102 has been deprecated. 103 104 No class WildcardExpectation 105 ---------------------------- 106 This was a mostly internal class for the mock objects. It was 107 renamed AnythingExpectation to bring it closer to JMock and 108 NMock in version 1.0.1alpha. 109 110 Missing UnitTestCase::assertErrorPattern() 111 ------------------------------------------ 112 This method is deprecated for version 1.0.1 onwards. 113 This method has been subsumed by assertError() that can now 114 take an expectation. Simply pass a PatternExpectation 115 into assertError() to simulate the old behaviour. 116 117 No HTML when matching page elements 118 ----------------------------------- 119 This behaviour has been switched to using plain text as if it 120 were seen by the user of the browser. This means that HTML tags 121 are suppressed, entities are converted and whitespace is 122 normalised. This should make it easier to match items in forms. 123 Also images are replaced with their "alt" text so that they 124 can be matched as well. 125 126 No method SimpleRunner::_getTestCase() 127 -------------------------------------- 128 This was made public as getTestCase() in 1.0RC2. 129 130 No method restartSession() 131 -------------------------- 132 This was renamed to restart() in the WebTestCase, SimpleBrowser 133 and the underlying SimpleUserAgent in 1.0RC2. Because it was 134 undocumented anyway, no attempt was made at backward 135 compatibility. 136 137 My custom test case ignored by tally() 138 -------------------------------------- 139 The _assertTrue method has had it's signature changed due to a bug 140 in the PHP 5.0.1 release. You must now use getTest() from within 141 that method to get the test case. Mock compatibility with other 142 unit testers is now deprecated as of 1.0.1alpha as PEAR::PHUnit2 143 should soon have mock support of it's own. 144 145 Broken code extending SimpleRunner 146 ---------------------------------- 147 This was replaced with SimpleScorer so that I could use the runner 148 name in another class. This happened in RC1 development and there 149 is no easy backward compatibility fix. The solution is simply to 150 extend SimpleScorer instead. 151 152 Missing method getBaseCookieValue() 153 ----------------------------------- 154 This was renamed getCurrentCookieValue() in RC1. 155 156 Missing files from the SimpleTest suite 157 --------------------------------------- 158 Versions of SimpleTest prior to Beta6 required a SIMPLE_TEST constant 159 to point at the SimpleTest folder location before any of the toolset 160 was loaded. This is no longer documented as it is now unnecessary 161 for later versions. If you are using an earlier version you may 162 need this constant. Consult the documentation that was bundled with 163 the release that you are using or upgrade to Beta6 or later. 164 165 No method SimpleBrowser::getCurrentUrl() 166 -------------------------------------- 167 This is replaced with the more versatile showRequest() for 168 debugging. It only existed in this context for version Beta5. 169 Later versions will have SimpleBrowser::getHistory() for tracking 170 paths through pages. It is renamed as getUrl() since 1.0RC1. 171 172 No method Stub::setStubBaseClass() 173 ---------------------------------- 174 This method has finally been removed in 1.0RC1. Use 175 SimpleTestOptions::setStubBaseClass() instead. 176 177 No class CommandLineReporter 178 ---------------------------- 179 This was renamed to TextReporter in Beta3 and the deprecated version 180 was removed in 1.0RC1. 181 182 No method requireReturn() 183 ------------------------- 184 This was deprecated in Beta3 and is now removed. 185 186 No method expectCookie() 187 ------------------------ 188 This method was abruptly removed in Beta4 so as to simplify the internals 189 until another mechanism can replace it. As a workaround it is necessary 190 to assert that the cookie has changed by setting it before the page 191 fetch and then assert the desired value. 192 193 No method clickSubmitByFormId() 194 ------------------------------- 195 This method had an incorrect name as no button was involved. It was 196 renamed to submitByFormId() in Beta4 and the old version deprecated. 197 Now removed. 198 199 No method paintStart() or paintEnd() 200 ------------------------------------ 201 You should only get this error if you have subclassed the lower level 202 reporting and test runner machinery. These methods have been broken 203 down into events for test methods, events for test cases and events 204 for group tests. The new methods are... 205 206 paintStart() --> paintMethodStart(), paintCaseStart(), paintGroupStart() 207 paintEnd() --> paintMethodEnd(), paintCaseEnd(), paintGroupEnd() 208 209 This change was made in Beta3, ironically to make it easier to subclass 210 the inner machinery. Simply duplicating the code you had in the previous 211 methods should provide a temporary fix. 212 213 No class TestDisplay 214 -------------------- 215 This has been folded into SimpleReporter in Beta3 and is now deprecated. 216 It was removed in RC1. 217 218 No method WebTestCase::fetch() 219 ------------------------------ 220 This was renamed get() in Alpha8. It is removed in Beta3. 221 222 No method submit() 223 ------------------ 224 This has been renamed clickSubmit() in Beta1. The old method was 225 removed in Beta2. 226 227 No method clearHistory() 228 ------------------------ 229 This method is deprecated in Beta2 and removed in RC1. 230 231 No method getCallCount() 232 ------------------------ 233 This method has been deprecated since Beta1 and has now been 234 removed. There are now more ways to set expectations on counts 235 and so this method should be unecessery. Removed in RC1. 236 237 Cannot find file * 238 ------------------ 239 The following public name changes have occoured... 240 241 simple_html_test.php --> reporter.php 242 simple_mock.php --> mock_objects.php 243 simple_unit.php --> unit_tester.php 244 simple_web.php --> web_tester.php 245 246 The old names were deprecated in Alpha8 and removed in Beta1. 247 248 No method attachObserver() 249 -------------------------- 250 Prior to the Alpha8 release the old internal observer pattern was 251 gutted and replaced with a visitor. This is to trade flexibility of 252 test case expansion against the ease of writing user interfaces. 253 254 Code such as... 255 256 $test = new MyTestCase(); 257 $test->attachObserver(new TestHtmlDisplay()); 258 $test->run(); 259 260 ...should be rewritten as... 261 262 $test = new MyTestCase(); 263 $test->run(new HtmlReporter()); 264 265 If you previously attached multiple observers then the workaround 266 is to run the tests twice, once with each, until they can be combined. 267 For one observer the old method is simulated in Alpha 8, but is 268 removed in Beta1. 269 270 No class TestHtmlDisplay 271 ------------------------ 272 This class has been renamed to HtmlReporter in Alpha8. It is supported, 273 but deprecated in Beta1 and removed in Beta2. If you have subclassed 274 the display for your own design, then you will have to extend this 275 class (HtmlReporter) instead. 276 277 If you have accessed the event queue by overriding the notify() method 278 then I am afraid you are in big trouble :(. The reporter is now 279 carried around the test suite by the runner classes and the methods 280 called directly. In the unlikely event that this is a problem and 281 you don't want to upgrade the test tool then simplest is to write your 282 own runner class and invoke the tests with... 283 284 $test->accept(new MyRunner(new MyReporter())); 285 286 ...rather than the run method. This should be easier to extend 287 anyway and gives much more control. Even this method is overhauled 288 in Beta3 where the runner class can be set within the test case. Really 289 the best thing to do is to upgrade to this version as whatever you were 290 trying to achieve before should now be very much easier. 291 292 Missing set options method 293 -------------------------- 294 All test suite options are now in one class called SimpleTestOptions. 295 This means that options are set differently... 296 297 GroupTest::ignore() --> SimpleTestOptions::ignore() 298 Mock::setMockBaseClass() --> SimpleTestOptions::setMockBaseClass() 299 300 These changed in Alpha8 and the old versions are now removed in RC1. 301 302 No method setExpected*() 303 ------------------------ 304 The mock expectations changed their names in Alpha4 and the old names 305 ceased to be supported in Alpha8. The changes are... 306 307 setExpectedArguments() --> expectArguments() 308 setExpectedArgumentsSequence() --> expectArgumentsAt() 309 setExpectedCallCount() --> expectCallCount() 310 setMaximumCallCount() --> expectMaximumCallCount() 311 312 The parameters remained the same.
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 21:07:04 2007 | par Balluche grâce à PHPXref 0.7 |