3、对于以下JavaScript函数,设计测试用例以达到条件覆盖: function isEligible(age, citizenship) { return age >= 18 && citizenship === "Yes";
时间: 2024-10-10 13:13:30 浏览: 29
这个 JavaScript 函数 `isEligible` 的目的是检查一个人是否满足选举资格,即年龄大于等于18岁并且是公民。为了达到条件覆盖(Cover all conditions),我们需要设计测试用例来验证:
1. **年龄大于等于18岁的合格情况**:
```javascript
test(isEligible(19, "Yes"), "should return true for eligible person", true);
```
2. **年龄小于18岁的不合格情况**:
```javascript
test(isEligible(17, "Yes"), "should return false for minor", false);
```
3. **公民身份为 'No' 的不合格情况**:
```javascript
test(isEligible(18, "No"), "should return false for non-citizen", false);
```
4. **年龄和公民身份都为 'Yes' 的合格情况**:
```javascript
test(isEligible(20, "Yes"), "should return true for fully eligible person", true);
```
5. **非法输入,如非字符串的公民身份**:
```javascript
test(isEligible(18, 123), "should handle invalid citizenship input", false);
```
阅读全文