python - 我如何在python unittest中使用for循环运行单个python测试用例执行不同的输入/输出
问题描述
我们有计算.py 文件的单元测试。因此,我们为实际或预期的 assertEqual 编写了一个具有 5 个不同输入和输出的单元测试用例。
import pandas as pd
from src.calculation import getDataFrame as file, calculationAll as calcs
input_file_path = tests/inputs/
expected_file_path = tests/outputs/
input_csv_file_array = ["1 File.csv", "2 File.csv"]
output_csv_file_array = ["1 File-expected.csv", "2 File-expected.csv"]
pytest.index = 0
pytest.initial_df = pd.DataFrame()
pytest.output_df = pd.DataFrame()
class CalculationTests(unittest.TestCase):
for i in range(len(input_csv_file_array )):
pytest.index = 1
pytest.initial_df = file.getDataFrame(input_file_path + input_csv_file_array[pytest.index])
pytest.output_df = pd.read_csv(expected_file_path + output_csv_file_array[pytest.index])
def test_1(self):
state_df = calcs.Addition(self, pytest.initial_df)
pytest.initial_df = state_df
actual_value = state_df.add
expected_value = pytest.output_df.add
self.assertEqual(actual_value, expected_value)
解决方案
推荐阅读
- php - Slug 函数删除带有 url 重音的字母
- r - 如何删除嵌套列表列表中的元素?
- c# - C# 在其他类中使用对象并显示它们 *REVISED
- python - 使用 tkinter 在 python 3.7.2 中关闭一个窗口
- c# - 使用代理处理 HttpWebResponse 的超长/无限超时
- scala - scala spark,如何将一组列合并到数据帧上的一个列?
- python - 用硒刮擦时单击特定的嵌套“a”标签?
- listview - Flutter:bottomAppBar Listview 滚动位置
- javascript - 获取 $.each 中返回的数组计数
- c# - 在 MVVM 中正确放置属性的位置