javascript - 优化柴测试
问题描述
describe('Maestro', function() {
// Write full test coverage for the Maestro card
var should = chai.should();
//Maestro always has a prefix of 5018, 5020, 5038, or 6304, and a length of 12-19.
var prefix = ['5018', '5020', '5038', '6304'];
var allLengths = [12, 13, 14, 15, 16, 17, 18, 19];
for (var i = 0; i < prefix.length; i++) {
for (var j = 0; j < allLengths; j++) {
it('has a prefix of ' + prefix[i] + ' and a length of ' + (allLengths[j]).toString(), function () {
detectNetwork('5018XXXXXXXX'.should.equal('Maestro'));
});
}
}
我正在编写一个 Chai 测试来检查固定长度为 12-19 的卡号和每个前缀的输入。我正在尝试优化此测试,以便在满足前缀要求后,只要满足卡长度,其余数字就无关紧要了。detectNetwork
是运行我的卡号并将其与某张卡匹配的功能。我不确定是否可以在这里编写代码,其中detectNetwork('5018XXXXXXXX'.should.equal('Maestro'));
所有 X 值都可以是任何数字,理想情况下,我希望它根据循环中基于的当前长度值进行更改。我知道我可以在这里手动写出每个场景,方法是只为前缀做一个 for 循环,然后为每个长度硬编码卡号,但这绝对不是最佳的,也不实用在这个分配之外做
解决方案
推荐阅读
- django-rest-framework - ios上大图出现Flutter SocketException问题
- java - DynamoDB put Item 未使用 MockiTo 和 PowerMock 进行模拟
- node.js - MongoDB、Mongoose 和 Apollo GraphQL 在文档中定义 _id 类型
- java - 将子类中的对象放入超类类型的数组后如何调用子类方法?
- python - 基于类返回一个numpy数组的分布样本
- php - 在递增的数字上添加静态前缀
- syntax - Perl6:用俚语添加印记
- python - 检测列表中的相同值
- android - 如何使用适用于 Android 的 Google Maps API 在 2 个标记之间绘制路线?
- css - 如何在我的 React 项目中使用 SCSS 全局变量和 mixin?