我正在尝试测试生成正则表达式的方法的行为。
使用 Mocha/Chai 测试套件我有以下代码:
describe('regexTest',function () {
it('should return a regexp', function () {
var regex = regexTest();
assert.equal(regex, /someregex/);
});
});
但是上面的代码似乎不起作用。我在 Chrome 控制台中尝试过:
/a/ == /a/
> false
目前我发现的唯一方法是比较两个正则表达式的toString
(应该相等并且我可以比较):
describe('regexTest',function () {
it('should return a regexp', function () {
var regex = regexTest();
assert.equal(regex.toString(), '/someregex/');
});
});
您知道更好的方法吗?因为我发现这不太干净......
最佳答案
由于正则表达式是一个对象,因此需要使用深度等于来比较 2 个正则表达式对象
expect(/a/).to.be.deep.equal(/a/, 'should match')
关于regex - Mocha Chai 正则表达式是相等的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094521/