下面来看一下Angular单元测试。
使用karma进行单元测试:
创建一个新的项目
ng new project --routing
运行ng test --help 可以看到测试相关的执行参数
options: --browsers Override which browsers tests are run against. --code-coverage Output a code coverage report. --code-coverage-exclude Globs to exclude from code coverage. --configuration (-c) A named configuration environment, as specified in the "configurations" section of angular.json. --environment Defines the build environment. --eval-source-map Output in-file eval sourcemaps. --help Shows a help message for this command in the console. --karma-config The name of the Karma configuration file. --main The name of the main entry-point file. --poll Enable and define the file watching poll time period in milliseconds. --polyfills The name of the polyfills file. --preserve-symlinks Do not use the real path when resolving modules. --prod When true, sets the build configuration to the production environment. All builds make use of bundling and limited tree-shaking, A production build also runs limited dead code elimination using UglifyJS. --progress Log progress to the console while building. --reporters Karma reporters to use. Directly passed to the karma runner. --source-map Output sourcemaps. --ts-config The name of the TypeScript configuration file. --vendor-source-map Resolve vendor packages sourcemaps. --watch Run build when files change.
NO_ERRORS_SCHEMA告诉angular忽略那些不识别的元素或者元素属性.
--code-coverage -cc 代码覆盖率报告, 默认这个是不开启的, 因为生成报告的速度还是比较慢的. --colors 输出结果使用各种颜色 默认开启 --single-run -sr 执行测试, 但是不检测文件变化 默认不开启 --progress 把测试的过程输出到控制台 默认开启 --sourcemaps -sm 生成sourcemaps 默认开启 --watch -w 运行测试一次, 并且检测变化 默认开启 ng test 就是运行测试, 并且如果文件有变化, 就会重新运行测试.
使用ng test -sr或者ng test -w false 执行单次测试
下面生成代码覆盖率报告:
ng test -sr -cc
测试程序有两种主要方法:端对端测试和单元测试。
端对端测试:
如果使用自上而下的方法进行测试,那么写测试时就将程序视为一个“黑盒”。与程序交互就如真实用户一样,从“旁观者”的角度评判程序是否达标。这种自上而下的测试技巧被称为端对端测试。
在Angular中,最常用的工具叫作Protractor。Protractor能够打开浏览器与程序交互,收集测试结果,并检验测试结果与预期值是否相符。
单元测试:
第二种常用的测试方法是隔离程序的每个部件,在隔离环境中运行测试。这种测试形式叫作单元测试。
在单元测试中,所写的测试需要事先提供既定的输入值与相应的逻辑单元,检测输出结果,确定它是否与我们的预期结果匹配。
想要了解更多前端知识,可访问 前端开发学习!!
以上就是如何进行angular的单元测试?的详细内容,更多请关注易知道|edz.cc其它相关文章!