test_case.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # -*- coding: UTF-8 -*-
  2. """
  3. @Project :pytest_src
  4. @File :test_case.py
  5. @Author :haojiang
  6. @Date :2022/9/23 10:09
  7. """
  8. import pytest
  9. from Base.ModuleCfgCheck import ModuleCfgCheck, check_module_param_check
  10. from Data.DataAccess import ItemType, get_xlsx_data_by_item_type
  11. PROJECT = r'D:\01_Work\02_WP\EP39_EV\branch\src\Config\ECUC'
  12. @pytest.mark.parametrize("module_name, param_name, expect_value", get_xlsx_data_by_item_type(ItemType.FIXED_VALUE))
  13. def test_01_case(module_name, param_name, expect_value):
  14. '''
  15. 该用例适用于 对某一配置项值进行检查,可能有多个container 都具有该配置项,但所有配置项的值都相同,为一固定值。
  16. 当有一个值与预期值不匹配时,将报错。
  17. :param module_name:
  18. :param param_name:
  19. :param expect_value:
  20. :return:
  21. '''
  22. item = (param_name, expect_value)
  23. res = check_module_param_check(PROJECT, module_name, item)
  24. assert True == res
  25. @pytest.mark.parametrize("module_name, search_pattern, param_name, expect_value", get_xlsx_data_by_item_type(ItemType.CUSTOM_PATTERN))
  26. def test_02_case(module_name, search_pattern, param_name, expect_value):
  27. '''
  28. 该用例适用于测试 通过某种模式规则,定位到唯一的container, 该container包含的指定配置项,是否与期望值相同。
  29. 例如,可能多个container 都具有该配置项,但对于目标container, 可能和其他container 配置值不同。
  30. :param module_name:
  31. :param search_pattern:
  32. :param param_name:
  33. :param expect_value:
  34. :return:
  35. '''
  36. item = (param_name, expect_value)
  37. res = check_module_param_check(PROJECT, module_name, item, search_pattern)
  38. assert True == res
  39. @pytest.mark.parametrize("module_name, search_pattern, param_name, expect_value", get_xlsx_data_by_item_type(ItemType.DEPENDENCY_PATTERN))
  40. def test_03_case(module_name, search_pattern, param_name, expect_value):
  41. # 该测试用例,用于目标container 需要使用 依赖关系才能确定确定的场景。
  42. print(module_name, search_pattern, param_name, expect_value)
  43. assert True == False
  44. pass