我如何在剧作家Python中比较“如果一个列表包含另一个列表(作为布尔值)使用expect(断言)”?

问题描述 投票:0回答:1

在 Playwright Python 中没有找到任何比较 2 个布尔值(特别是对象类型/集合)的期望方法。

例如。 :

L1 = [5, 2, 3, 1] L2 = [1, 2, 3, 4, 5, 6, 7]

尝试了以下方法但没有成功:

  1. 期望(L2.to_contain(L1))
  2. expect(L1 in L2).to_equal(True)
  3. expect(all(L2 in L1)).to_equal(True)
  4. 期望(L2).to_have_values(L1)

需要剧作家断言,即“期望”方法来检查 L2 是否包含 L1。 另外,如果我可以获得一个通用的解决方案(适用于所有对象/集合类型),而不应该特定于某些数据类型/集合,我将不胜感激。

python assert assertion playwright-python playwright-test
1个回答
0
投票

这些是通用伪代码,用于获取基本思想,您可以使用这些基本思想来涵盖您需要的所有条件。

#Generic

L1, L2 = [5, 2, 3, 1], [1, 2, 3, 4, 5, 6, 7]

#If all the elements of L1 in L2
print(True) if all(L1) in L2 else print(False)

#Output: True


#If any elements of L2 in L1
print(True) if any(L2) in L1 else print(False)

#Output: True


#if any 3 of l2 in L1
print(True) if len([x for x in L2 if x in L1]) > 3 else print(False)

#Output: True


#if any 4 of l2 in L1
print(True) if len([x for x in L2 if x in L1]) > 4 else print(False)

#Output: False
© www.soinside.com 2019 - 2024. All rights reserved.