Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)

Posted chentianwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)相关的知识,希望对你有一定的参考价值。

对Js的单元测试是一个大的题目。作者认为Ruby的相关测试工具比Js的测试工具更灵活

 

大多数Js代码最终是关于响应用户的行为和改变DOM中的元素 

 

没有什么javascript的知识点。前两节用了几个新的测试工具,和大量配置,暂时pass.

  •  setup js Unit-tests
  • writing a Sample test
  • Tdd in Js
  • jasmine matchers
  • testing ajax calls
  • using testdouble.js
  • connecting the js to the server code


Setting Up JavaScript Unit Tests

Webpack的配置很复杂,虽然rails团队已经做了改进,有时仍需要挖掘细节。 

 

本章使用:

Karma test runner: 从命令行运行,执行测试,和微博趴窗口良好兼容

Jasmine: 一个测试的工具,作者喜欢它的syntax。

TestDouble package:

 

命令:加载相关的模块: 

yarn add jasmine jasmine-core karma karma-chrome-launcher karma-jasmine karma-mocha-reporter karma-sourcemap-loader karma-webpack testdouble testdouble-jasmine --dev

解释:

使用Yarn package manager来管理独立的JS。使用Yarn来加载这些modules。 

--dev命令增加这些模块到package.json中的独立的section 。(就是说这些模块只在development环境下使用,都是用于测试的) 标签是"devDependencies"

  "devDependencies": {
    "jasmine": "^3.1.0", 写代码的库
    "jasmine-core": "^3.1.0", 写代码的库
    "karma": "^2.0.2", command-line program 
    "karma-chrome-launcher": "^2.2.0", 让karma在Chrome中运行测试
    "karma-jasmine": "^1.1.2", 接口
    "karma-mocha-reporter": "^2.2.5",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-webpack": "^3.0.0", 让karma使用webpack
    "testdouble": "^3.8.1", mock object package
    "testdouble-jasmine": "^0.2.1", 两者的集成。
    "webpack-dev-server": "2.11.2"
  }

再运行:

$ yarn global add karma-cli

所以模块已经加载了。

 

 

以上是关于Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)

Rails 5 Test Prescriptions 第9章 Testing-JavaScript: Integration Testing

Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)

C# List根据某一字段排序 将字段相同的排序到一起

覆盖rails 5的控制器测试脚手架

ruby Rails Test Helper rails_helper.rb