如何在Angular中测试传递后运行ng测试然后进行构建

时间:2017-08-15 17:57:53

标签: angular angular-cli karma-jasmine

我有一个Angular 4应用程序,我正在为其设置构建管道。我想要做的是让管道运行ng test,然后一旦测试通过,然后运行ng build

有没有人有我如何做到这一点的例子?

3 个答案:

答案 0 :(得分:8)

在你的package.json中,你可以创建一个自定义脚本。

"scripts": {
"build": "ng build",
"test": "ng test --single-run",
"ci": "npm run test && npm run build"
},

然后运行

npm run ci

答案 1 :(得分:6)

要添加到其他答案:从Angular 6 --single-run开始不再有效,但您应该使用此代码:

--watch=false

描述here

  

测试将在通过Karma执行构建后执行,它将会执行   自动监视您的文件以进行更改。您可以单独运行测试   时间通过--watch = false。

所以现在你需要这样做:

ng test --watch=false && ng build

答案 2 :(得分:1)

prepare(for segue: UIStoryboardSegue, sender: Any?)

说明:

  • 首先确保将ng测试作为单次运行运行,否则它永远不会终止:function myFunction() { var latitud = <?php echo '["' . implode('", "', $dbLatitud) . '"]' ?>; var longitud = <?php echo '["' . implode('", "', $dbLongitud) . '"]' ?>; document.getElementById("demo").innerHTML = latitud + longitud; // document.getElementById("demo").innerHTML = fruits[1]; --- especifico slot var a = latitud.toString(); var b = longitud.toString(); var myLatLong = {lat: a, lng: b}; var marker = new google.maps.Marker({ position: myLatLong, map: map, title: 'Colectivo N°: 1' }); marker.setMap(map); }
  • 然后使用双&符号ng test --single-run && ng build表示下一个命令只应在成功退出状态下运行。
  • 然后ng test --single-run

这适用于Windows和Linux系统......