> assert goods_name not in goods_name_text_list E AssertionError: assert '20202198_1686382047_商品名称添加' not in ['商品ID', '名称', '图片', '分享图', '详情', '市场售价', ...] test_litemall_po.py:80: AssertionError
时间: 2024-01-03 11:04:30 浏览: 98
这个错误是一个断言错误,意味着你的测试代码在运行时遇到了一个错误条件。根据错误信息来看,你的代码在检查 `goods_name` 是否存在于 `goods_name_text_list` 中时遇到了问题,因为实际上 `goods_name` 存在于 `goods_name_text_list` 中。
你需要检查一下你的测试代码,确认你的预期行为与实际行为是否一致。如果你认为这个断言应该是正确的,那么你需要检查 `goods_name_text_list` 中的数据是否正确,或者检查你的代码是否有其他问题。如果你认为这个断言应该是错误的,那么你需要修改你的测试代码来反映你的预期行为。
相关问题
# 断言商品名称是否在商品元素文本列表 > assert goods_name in goods_name_text_list E AssertionError: assert '20202198_1686364061_商品名称添加' in []
根据给出的错误信息,可以看出是断言错误,因为`goods_name_text_list`是一个空列表,所以断言失败了,即`goods_name`不在`goods_name_text_list`中。这可能是因为在获取`goods_name_text_list`的过程中出现了问题,导致该列表为空。建议检查获取`goods_name_text_list`的代码,确保它能够正确获取到商品元素文本列表。
> assert goods_name in result E AssertionError: assert '20202198' in ['20202198_1686385618_商品名称添加', '20202198_1686382396_商品名称添加', '20202198_1686382047_商品名称添加', '20202198_1686364630_商品名称添加', '20202198_1686364061_商品名称添加', '20202198_1686363669_商品名称添加', ...] test_litemall_po.py:86: AssertionError
看起来你遇到了一个 `AssertionError` 异常,错误提示为 `assert '20202198' in ['20202198_1686385618_商品名称添加', '20202198_1686382396_商品名称添加', '20202198_1686382047_商品名称添加', ...]`,这个错误是因为断言失败了,即在 `result` 列表中没有找到符合条件的字符串。
根据错误提示,你期望在 `result` 列表中找到的字符串是 '20202198',但是实际上这个字符串是 '20202198_1686385618_商品名称添加'。这说明 `find()` 方法匹配的是包含 '20202198' 的字符串,而不是仅以 '20202198' 开头的字符串。
如果你希望在 `result` 列表中找到的字符串是仅以 '20202198' 开头的字符串,你可以使用 Python 的字符串方法 `startswith()`,例如:
```python
result = [s for s in goods_name_text_list if s.startswith(str(self.PREFIX_NUM))]
```
这样就可以找到所有以 '20202198' 开头的字符串了。然后你可以使用 `assert` 语句来判断期望的字符串是否在 `result` 列表中,例如:
```python
assert goods_name in result
```
这样就可以避免上述错误。
阅读全文