Angularjs 卡玛测试角控制器
我已经开始学习如何在controller上正确测试,并遇到以下脚本 我有点困惑。。。expectedJSON位于以下API页面中:Angularjs 卡玛测试角控制器,angularjs,karma-jasmine,Angularjs,Karma Jasmine,我已经开始学习如何在controller上正确测试,并遇到以下脚本 我有点困惑。。。expectedJSON位于以下API页面中: 我很困惑,只是想知道这里测试的是什么,我可以看到那里的描述,但仍然丢失了。。。这里需要什么?与任何单元测试一样,您安排act,然后断言 对于上述测试,arrange和act的部分是不言而喻的,但是assert部分可能不明显。测试只是验证在创建控制器时是否发送了搜索请求 如果您查看视频控制器的控制器代码 $youtube.query($scope.q, true
我很困惑,只是想知道这里测试的是什么,我可以看到那里的描述,但仍然丢失了。。。这里需要什么?与任何单元测试一样,您安排act,然后断言 对于上述测试,arrange和act的部分是不言而喻的,但是assert部分可能不明显。测试只是验证在创建控制器时是否发送了搜索请求 如果您查看视频控制器的控制器代码
$youtube.query($scope.q, true, function(q, videos) {
$scope.videos = videos;
$scope.onReady();
});
这是可以证实的
断言部分由$httpBackend.expectJSONP
完成。此设置告诉karma验证是否向特定url发出了GET请求。这里的url是谷歌搜索api,搜索词为cars
测试基本上是建立一个模拟后端,并断言它被调用。与任何单元测试一样,您安排act,然后断言 对于上述测试,arrange和act的部分是不言而喻的,但是assert部分可能不明显。测试只是验证在创建控制器时是否发送了搜索请求 如果您查看视频控制器的控制器代码
$youtube.query($scope.q, true, function(q, videos) {
$scope.videos = videos;
$scope.onReady();
});
这是可以证实的
断言部分由$httpBackend.expectJSONP
完成。此设置告诉karma验证是否向特定url发出了GET请求。这里的url是谷歌搜索api,搜索词为cars
该测试基本上设置了一个模拟后端,并断言它已被调用。此测试没有明确的断言,但如果构造控制器实例因任何原因引发异常,它将失败 请记住,如果断言失败,它将抛出异常。测试运行程序只需按如下方式运行测试功能:
try {
runTest();
} catch (e) {
markTestFailed(e);
}
因此,如果您的测试代码因任何原因引发异常,测试将失败。此测试没有明确的断言,但如果构建控制器实例因任何原因引发异常,则测试将失败 请记住,如果断言失败,它将抛出异常。测试运行程序只需按如下方式运行测试功能:
try {
runTest();
} catch (e) {
markTestFailed(e);
}
因此,如果您的测试代码出于任何原因引发异常,测试将失败。我会说它实际上在测试它是否正确调用,以及它是否可以无错误地构造。我会说它实际上在测试它是否正确调用,以及它是否可以无错误地构造。