一、使用toThrow/toThrowError
在使用toThrow/toThrowError
来测试特定函数抛出的一个错误时,如下代码,一直显示报错,但是在expect里面加了()=>{}
又可以了,这里有两个需要思考的点:
- 为什么加了
()=>{ }
就通过测试了。 -
toThrow
和toThrowError
有什么区别?
test('should return u8必须是Uint8Array', () => {
expect(() => {
new GPSData('传入不是Uint8Array类型的数据', '2018-01-23T12:21:39Z', 2)
}).toThrow('u8必须是Uint8Array')
})
二、测试js文件里面一个class里面的static静态方法
- 例如:
class XMLParser {
static parserXML (content) {
}
测试写法,就是XMLParser.parserXML( ),其实就是跟java是一样的,刚开始我以为不一样,写成new Parser.parserXML( ),郁闷了好久。
二、规则
- 有效等价类指输入完全满足程序输入的规格说明,有效、有意义的输入数据所构成的集合。利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。无效等价类和有效等价类相反,即不满足程序输入要求或者无效的输入数据构成的集合。使用无效等价类,可以鉴别程序异常情况的处理。在程序设计中,不但要保证所有有效地数据输入能产生正确的输出,同时需要保障在输入错误或者空输入的时候能有异常保护,这样的测试才能保证软件的可靠性。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。