Unit testing 单元测试中的零错误
我在写测试时遇到了问题。通常,expect()内部的所有方法调用都会失败,并出现NullError。可以在expect()之外成功调用相同的方法。下面是我的main()方法:Unit testing 单元测试中的零错误,unit-testing,null,dart,Unit Testing,Null,Dart,我在写测试时遇到了问题。通常,expect()内部的所有方法调用都会失败,并出现NullError。可以在expect()之外成功调用相同的方法。下面是我的main()方法: 。。。 导入“包:unittest/unittest.dart”; 导入“package:unittest/html_config.dart”; void main(){ 使用HTMLConfiguration(); 测试(${repositoryURL}的URL连接正常,(){ var httpRequest=新的htt
。。。
导入“包:unittest/unittest.dart”;
导入“package:unittest/html_config.dart”;
void main(){
使用HTMLConfiguration();
测试(${repositoryURL}的URL连接正常,(){
var httpRequest=新的httpRequest();
expect(httpRequest.open('POST',repositoryURL),returnsnomally,原因:“httpRequestOpen for${repositoryURL}抛出异常”);
});
//httpRequest.open('POST',repositoryURL);//如果不在expect中,则可以工作
测试('已发送存储库请求',(){
expect(sendRepositoryListRequest(),返回异常,原因:“sendRepositoryListRequest引发异常”);
});
//sendRepositoryListRequest();//如果不在预期范围内,则可以工作
浏览器输出:
FAIL 1 FAIL Expectation: URL connection is Ok for../ServiceDirect/getRepositories .
Expected: return normally Actual: <null> Which: threw W0: <NullError: Cannot call "call$0" on null>
httpRequestOpen for ../ServiceDirect/getRepositories threw exception
documentviewertest.dart.js 1224:3 dart.b
documentviewertest.dart.js 7665:20 Gc.Is.JX
documentviewertest.dart.js 7637:25 kw.xu
documentviewertest.dart.js 7985:3 dart.vd
documentviewertest.dart.js 6792:22 QA.call$0
documentviewertest.dart.js 7776:30 c9.Sp
documentviewertest.dart.js 7840:10 Rm.call$1
documentviewertest.dart.js 2510:34 vs.GP
documentviewertest.dart.js 2643:25 jb.call$0
documentviewertest.dart.js 2456:26 T8
2 FAIL Expectation: Repositories request is sent.
Expected: return normally Actual: <null> Which: threw W0: <NullError: Cannot call "call$0" on null>
sendRepositoryListRequest threw exception
documentviewertest.dart.js 1224:3 dart.b
documentviewertest.dart.js 7665:20 Gc.Is.JX
documentviewertest.dart.js 7637:25 kw.xu
documentviewertest.dart.js 7985:3 dart.vd
documentviewertest.dart.js 6796:22 Cv.call$0
documentviewertest.dart.js 7776:30 c9.Sp
documentviewertest.dart.js 7840:10 Rm.call$1
documentviewertest.dart.js 2510:34 vs.GP
documentviewertest.dart.js 2643:25 jb.call$0
documentviewertest.dart.js 2456:26 T8
Total 0 passed, 2 failed 0 errors
FAIL 1预期失败:URL连接对于../ServiceDirect/getRepositories是正常的。
预期:返回正常实际:其中:抛出W0:
../ServiceDirect/getRepositories的httpRequestOpen引发异常
documentviewertest.dart.js 1224:3 dart.b
documentviewertest.dart.js 7665:20 Gc.Is.JX
documentviewertest.dart.js 7637:25 kw.xu
documentviewertest.dart.js 7985:3 dart.vd
documentviewertest.dart.js 6792:22 QA.呼叫$0
documentviewertest.dart.js 7776:30 c9.Sp
documentviewertest.dart.js 7840:10 Rm.呼叫$1
documentviewertest.dart.js 2510:34 vs.GP
documentviewertest.dart.js 2643:25 jb.呼叫$0
documentviewertest.dart.js 2456:26 T8
2失败预期:发送存储库请求。
预期:返回正常实际:其中:抛出W0:
sendRepositoryListRequest引发异常
documentviewertest.dart.js 1224:3 dart.b
documentviewertest.dart.js 7665:20 Gc.Is.JX
documentviewertest.dart.js 7637:25 kw.xu
documentviewertest.dart.js 7985:3 dart.vd
documentviewertest.dart.js 6796:22简历呼叫$0
documentviewertest.dart.js 7776:30 c9.Sp
documentviewertest.dart.js 7840:10 Rm.呼叫$1
documentviewertest.dart.js 2510:34 vs.GP
documentviewertest.dart.js 2643:25 jb.呼叫$0
documentviewertest.dart.js 2456:26 T8
总共0个通过,2个失败0个错误
在DART中运行时的输出(非浏览器)
unittest套件等待完成
失败:测试../ServiceDirect/getRepositories的URL连接
预期:正常返回
实际:
其中:抛出了NoSuchMethodError:
../ServiceDirect/getRepositories的httpRequestOpen引发异常
包:unittest/src/simple\u configuration.dart 137:7 SimpleConfiguration.onExpectFailure
包:unittest/src/simple\u configuration.dart 15:28\u ExpectFailureHandler.fail
包:unittest/src/expect.dart 117:9 DefaultFailureHandler.failMatch
包:unittest/src/expect.dart 75:29 expect
documentviewertest.dart 606:13主视图。
包:unittest/src/test\u case.dart 111:31\u run。
dart:async/future\u impl.dart 453\u future.\u传播到侦听器。
dart:async/zone.dart 683\u rootRun
dart:async/zone.dart 417_ZoneDelegate.run
dart:async/zone.dart 627\u CustomizedZone.run
dart:async/future\u impl.dart 445\u future.\u传播到侦听器
dart:async/future\u impl.dart 303\u future.\u完成
dart:async/future\u impl.dart 354\u future.\u async完成。
dart:async/zone.dart 688\u rootRun
dart:async/zone.dart 417_ZoneDelegate.run
dart:async/zone.dart 627\u CustomizedZone.run
dart:async/zone.dart 538_BaseZone.runguard
dart:async/zone.dart 563\u BaseZone.bindCallback。
dart:async/schedule\u microtask.dart 18\u asyncRunCallback
file:///E:/b/build/slave/dartium-赢得完全稳定/build/src/dart/tools/dom/src/native\u dominemplementation.dart 604\u handleMutation
失败:已发送存储库请求
预期:正常返回
实际:
其中:抛出了NoSuchMethodError:
***sendRepositoryListRequest引发异常***
包:unittest/src/simple\u configuration.dart 137:7 SimpleConfiguration.onExpectFailure
包:unittest/src/simple\u configuration.dart 15:28\u ExpectFailureHandler.fail
包:unittest/src/expect.dart 117:9 DefaultFailureHandler.failMatch
派克靴
unittest-suite-wait-for-done
FAIL: Testing URL connection for../ServiceDirect/getRepositories
Expected: return normally
Actual: <null>
Which: threw NoSuchMethodError:<The null object does not have a method 'call'.
NoSuchMethodError : method not found: 'call'
Receiver: null
Arguments: []>
httpRequestOpen for ../ServiceDirect/getRepositories threw exception
package:unittest/src/simple_configuration.dart 137:7 SimpleConfiguration.onExpectFailure
package:unittest/src/simple_configuration.dart 15:28 _ExpectFailureHandler.fail
package:unittest/src/expect.dart 117:9 DefaultFailureHandler.failMatch
package:unittest/src/expect.dart 75:29 expect
documentviewertest.dart 606:13 main.<fn>
package:unittest/src/test_case.dart 111:31 _run.<fn>
dart:async/future_impl.dart 453 _Future._propagateToListeners.<fn>
dart:async/zone.dart 683 _rootRun
dart:async/zone.dart 417 _ZoneDelegate.run
dart:async/zone.dart 627 _CustomizedZone.run
dart:async/future_impl.dart 445 _Future._propagateToListeners
dart:async/future_impl.dart 303 _Future._complete
dart:async/future_impl.dart 354 _Future._asyncComplete.<fn>
dart:async/zone.dart 688 _rootRun
dart:async/zone.dart 417 _ZoneDelegate.run
dart:async/zone.dart 627 _CustomizedZone.run
dart:async/zone.dart 538 _BaseZone.runGuarded
dart:async/zone.dart 563 _BaseZone.bindCallback.<fn>
dart:async/schedule_microtask.dart 18 _asyncRunCallback
file:///E:/b/build/slave/dartium-win-full-stable/build/src/dart/tools/dom/src/native_DOMImplementation.dart 604 _handleMutation
FAIL: Repositories request is sent
Expected: return normally
Actual: <null>
Which: threw NoSuchMethodError:<The null object does not have a method 'call'.
NoSuchMethodError : method not found: 'call'
Receiver: null
Arguments: []>
*** sendRepositoryListRequest threw exception ***
package:unittest/src/simple_configuration.dart 137:7 SimpleConfiguration.onExpectFailure
package:unittest/src/simple_configuration.dart 15:28 _ExpectFailureHandler.fail
package:unittest/src/expect.dart 117:9 DefaultFailureHandler.failMatch
package:unittest/src/expect.dart 75:29 expect
documentviewertest.dart 613:14 main.<fn>
package:unittest/src/test_case.dart 111:31 _run.<fn>
dart:async/future_impl.dart 453 _Future._propagateToListeners.<fn>
dart:async/zone.dart 683 _rootRun
dart:async/zone.dart 417 _ZoneDelegate.run
dart:async/zone.dart 627 _CustomizedZone.run
dart:async/future_impl.dart 445 _Future._propagateToListeners
dart:async/future_impl.dart 303 _Future._complete
dart:async/future_impl.dart 354 _Future._asyncComplete.<fn>
dart:async/zone.dart 688 _rootRun
dart:async/zone.dart 417 _ZoneDelegate.run
dart:async/zone.dart 627 _CustomizedZone.run
dart:async/zone.dart 538 _BaseZone.runGuarded
dart:async/zone.dart 563 _BaseZone.bindCallback.<fn>
dart:async/schedule_microtask.dart 18 _asyncRunCallback
file:///E:/b/build/slave/dartium-win-full-stable/build/src/dart/tools/dom/src/native_DOMImplementation.dart 604 _handleMutation
0 PASSED, 2 FAILED, 0 ERRORS
Exception: Exception: Some tests failed.
SimpleConfiguration.onDone (package:unittest/src/simple_configuration.dart:209:9)
_completeTests@0x398acc1e (package:unittest/unittest.dart:663:17)
_runTest@0x398acc1e (package:unittest/unittest.dart:612:19)
_nextTestCase@0x398acc1e (package:unittest/unittest.dart:532:11)