Unit testing 单元测试中的零错误

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

我在写测试时遇到了问题。通常,expect()内部的所有方法调用都会失败,并出现NullError。可以在expect()之外成功调用相同的方法。下面是我的main()方法:

。。。
导入“包: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)