karma
进行单元测试
环境准备
cnpm init //初始化项目
cnpm install karma --save-dev // 安装karma
cnpm install karma-jasmine --save-dev // 安装断言库
cnpm install jasmine-core --save-dev // 断言库
cnpm install phantomjs --save-dev // 安装无头浏览器
cnpm install karma-phantomjs-launcher --save-dev // 安装无头浏览器启动器
cnpm install karma-cli --save-dev
cnpm install karma-chrome-launcher --save-dev
karma init // 初始化karma配置,生成配置文件karma.conf.js
// 在 karma.conf.js 中指定要测试的文件
files: [
'index.js',
'index.spec.js'
],
// 并修改 singleRun 为 true
singleRun: true,
karma start // 测试
karma 初始化
测试结果
文件准备
// index.js 被测试功能
window.add = function(num){
return num + 1;
}
// index.spec.js 测试用例
describe('第1个测试用例', function(){
it("第1个测试用例 - 测试简单的加法", function(){
expect(window.add(1)).toBe(2);//jasmine写法
});
});
describe('第2个测试用例', function(){
it("第2个测试用例 - 测试简单的加法", function(){
expect(window.add(2)).toBe(4);
});
});
selenium-webdriver
这是一款基于浏览器的自动化测试工具
现在我们来做个简单的测试,测试百度搜索的titile是否正确
// 安装 selenium-webdriver
cnpm install selenium-webdriver -g
cnpm install selenium-webdriver --save-dev
// e2e.js 编写测试代码,本次代码基于火狐,所以要准备 geckodriver.exe ,放置到当前目录下(官网可下载,也可选择chrome)
const {Builder, By, Key, until} = require('selenium-webdriver');
let driver = new Builder()
.forBrowser('firefox')
.build();
driver.get('https://www.baidu.com/');
driver.findElement(By.name('wd')).sendKeys('webdriver', Key.RETURN);
driver.wait(until.titleIs('webdriver_百度搜索'), 1000);
driver.quit();
// 测试,可以看到火狐被自动打开并输入“webdriver”进行搜索,测试通过
node ele2.js