假设框架的csv扩展

hypothesis-csv的Python项目详细描述


hypothesis-csv是对假设框架的扩展。这个框架的目标是提供一个灵活的工具。 对接受csv文件作为输入的软件执行生成测试/基于属性的测试。

说明

假设csv设计时考虑了两个主要用例:

  • 测试软件,它接受广泛的csv格式,并且不对内容进行假设(即csv解析器)
  • 接受非常具体的csv格式并对内容、类型和标题字段进行假设的测试软件。

它提供了两种策略data_rowscsv来实现这个目标,这两种策略都包含在策略模块中。 有关更多详细信息,请参阅他们的文档和示例。

示例

生成任意的非空csv

fromhypothesis_csv.strategiesimportcsv@given(csv=csv())deftest_my_csv_parse(csv):parsed_csv=my_csv_parser(csv)assert...

生成给定大小的csv(5列x 20行)

fromhypothesis_csv.strategiesimportcsv@given(csv=csv(lines=20,header=5))deftest_my_csv_parse(csv):parsed_csv=my_csv_parser(csv)assertparsed_csv.num_columns==5assertparsed_csv.num_rows==20

生成标题

的csv
fromhypothesis_csv.strategiesimportcsv@given(csv=csv(header=["timestamp","val_1","val_2"]))deftest_my_csv_parse(csv):parsed_csv=my_csv_parser(csv)assertparsed_csv.num_columns==3

使用给定类型的列生成csv

fromhypothesis_csv.strategiesimportcsv@given(csv=csv(columns=[text(),int(),float()]))deftest_my_csv_parse(csv):parsed_csv=my_csv_parser(csv)assertparsed_csv.num_columns==3

使用给定方言生成csv

fromhypothesis_csv.strategiesimportcsv@given(csv=csv(columns=[text(),int(),float()],dialect="excel-tab"))deftest_my_csv_parse(csv):...

使用drawns方言生成csv

fromhypothesis_csv.strategiesimportcsv@given(csv=csv(columns=[text(),int(),float()],dialect=None))deftest_my_csv_parse(csv):...

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何正确执行密码while循环   java如何将十进制数格式化为2或3位数?   Libgdx中的java Facebook共享   java在Spring引导属性中为嵌套类设置日志记录级别   java使用无序列表计算团队统计数据   java在生成时没有任何理由更喜欢getClass()而不是instanceof。等于()?   java Hibernate实体过滤器与Spring数据存储库   spring如何在取消部署mule应用程序时停止java类   java找不到参数的方法实现()   java Ascii未在commons lang3中转换   括号Java组输入的有效括号匹配方法   java将按钮分配给JXTreeTable中的行   访问作为参数传递的数组元素   java如何在REGEX'或'(|)条件下在其他单词中精确匹配一个单词   java在应用程序级别实现WSSecurity