firemail
标题:
wildduck--测试工具
[打印本页]
作者:
java
时间:
2017-12-28 18:00
标题:
wildduck--测试工具
本帖最后由 java 于 2017-12-29 11:31 编辑
---------browsers-----------------
https://www.npmjs.com/package/browserbox
browserbox IMAP client for browsers
github.com/whiteout-io/browserbox
------测试框架Mocha---及断言库 chai-----
Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。
安装 npm install --global mocha
通常,测试脚本与所要测试的源码脚本同名,但是后缀名为.test.js(表示测试)或者.spec.js(表示规格)。比如,add.js的测试脚本名字就是add.test.js。
// add.test.js
var add = require('./add.js');
var expect = require('chai').expect;
describe('加法函数的测试', function() {
it('1 加 1 应该等于 2', function() {
expect(add(1, 1)).to.be.equal(2);
});
});
上面这段代码,就是测试脚本,它可以独立执行。测试脚本里面应该包括一个或多个describe块,每个describe块应该包括一个或多个it块。
describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数。
it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。
断言库的用法
npm install
--global
chai
上面的测试脚本里面,有一句断言。
expect(add(1, 1)).to.be.equal(2);
所谓"断言",就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误。上面这句断言的意思是,调用add(1, 1),结果应该等于2。
所有的测试用例(it块)都应该含有一句或多句的断言。它是编写测试用例的关键。断言功能由断言库来实现,Mocha本身不带断言库,所以必须先引入断言库。
var expect = require('chai').expect; //断言库
断言库有很多种,Mocha并不限制使用哪一种。上面代码引入的断言库是chai,并且指定使用它的expect断言风格。
Mocha的基本用法
有了测试脚本以后,就可以用Mocha运行它。
mocha add.test.js
加法函数的测试
✓ 1 加 1 应该等于 2
1 passing (8ms)
http://www.ruanyifeng.com/blog/2 ... al-of-examples.html
http://chaijs.com/
https://github.com/chaijs/chai
作者:
java
时间:
2018-1-2 17:22
本帖最后由 java 于 2018-1-5 08:57 编辑
测试用例跑法
mocha ./imap-core/test/my-test.js --config=./config/test.toml
sudo提升IDE权限
sudo /usr/share/webstorm/bin/webstorm.sh
作者:
java
时间:
2018-1-2 17:53
手动命令行测试
----imap测试-------
openssl s_client -connect 127.0.0.1:9993
C: C1 CAPABILITY
S: * CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN ENABLE ID SASL-IR
S: C1 OK CAPABILITY completed
C: C3 LOGIN "hcj" "test123"
S: C3 OK hcj authenticated
C: C6 STATUS "Trash" (MESSAGES RECENT UIDVALIDITY)
S: * STATUS "Trash" (MESSAGES 1 RECENT 0 UIDVALIDITY 1514528271)
S: C6 OK STATUS completed
C: C7 NOOP
S: C7 OK Nothing done
C: C10 SELECT "Trash"
S: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
S: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Flags permitted
S: * OK [UIDVALIDITY 1514528271] UIDs valid
S: * 1 EXISTS
S: * 0 RECENT
S: * OK [HIGHESTMODSEQ 76] Highest
S: * OK [UIDNEXT 25] Predicted next UID
S: C10 OK [READ-WRITE] SELECT completed
C: C11 FETCH 1:1 (UID)
S: 1 FETCH (UID 24)
S: C11 OK FETCH completed
C: C12 UID FETCH 24 (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER])
S: * 1 FETCH (UID 24 RFC822.SIZE 79 FLAGS () BODY[HEADER] {70}
S: from: sender@example.com
S: to: receiver@example.com
S: subject: test1
S:
S: )
S: C12 OK UID FETCH completed
C: C13 UID FETCH 24 (UID BODY.PEEK[])
S: * 1 FETCH (UID 24 BODY[] {79}
S: from: sender@example.com
S: to: receiver@example.com
S: subject: test1
S:
S: hello 1
S: )
S: C13 OK UID FETCH completed
C: C14 UID FETCH 24 (UID FLAGS)
S: * 1 FETCH (UID 24 FLAGS ())
S: C14 OK UID FETCH completed
C: C15 UID STORE 24 +FLAGS (\Deleted)
S: * 1 FETCH (UID 24 FLAGS (\Deleted))
S: C15 OK UID STORE completed
C: C16 EXPUNGE
S: * 1 EXISTS
S: * 1 EXPUNGE
S: * 0 EXISTS
S: C16 OK EXPUNGE completed
C: C17 CLOSE
S: C17 OK CLOSE completed
C: C18 LIST "" * //----- 参数: "邮箱路径名" "邮箱名(可使用通配符)"
S: * LIST (\HasNoChildren) "/" "INBOX"
S: * LIST (\HasNoChildren \Drafts) "/" "Drafts"
S: * LIST (\HasNoChildren \Junk) "/" "Junk"
S: * LIST (\HasNoChildren \Sent) "/" "Sent Mail"
S: * LIST (\HasNoChildren \Trash) "/" "Trash"
S: C18 OK LIST completed
C: C19 LOGOUT
S: * BYE Logout requested
S: C19 OK Piccobello!
S: closed
复制代码
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3