用于为在线法官创建测试用例的测试用例生成器。

testcase-generator的Python项目详细描述


测试用例生成器

一个测试用例生成器,用于轻松地为在线法官创建测试用例。

安装

$ pip install testcase-generator

或者,克隆这个存储库!

用法

fromtestcase_generatorimportConstraint,Case,Batch,Generator,ConstraintParserdefset_constraints(self):## Write main constraints here ### Sets the constraint of N to be between 1 and 10^3 inclusive.self.N=Constraint(1,10**3)defgenerate_input(self):## Write generator here ### Generates a value for Nyieldself.N.nextCase.SET_CONSTRAINTS=set_constraintsCase.SET_INPUT=generate_input# Using the yaml config to create the batches:config_yaml="""- batch: 1  constraints: {N: 1~10**2}  cases:   - {N: MIN}   - {N: MAX}   - {N: 2~10}   - {N: 10**2-1~}- batch: 2  constraints: {}  cases:   - {}   - {N: ~2}"""p=ConstraintParser(data=config_yaml)p.parse()batches=p.batches# creating the batches manuallybatches=[Batch(num=1,cases=[Case()foriinrange(4)]),Batch(num=2,cases=[Case(N=Constraint(1,10))foriinrange(2)]),]Generator(batches=batches,exe='COMMAND_TO_GENERATE_OUTPUT').start()

生成器具有一个GraphGenerator,它生成多种图形类型:

fromtestcase_generatorimportConstraint,Case,Batch,Generator,ConstraintParser,GraphGenerator""" | initialize(self, N, graph_type, *args, **kwargs) |     N: number of nodes |     graph_type: |              1: normal graph |              2: connected graph |              3: complete graph |              4: circle |              10: line |              11: normal tree |              12: tree, all nodes connected to one node |              13: caterpillar tree |              14: binary tree |     kwargs: |         M: number of edges, leave blank if it is a tree |         duplicates: allow for duplicate edges between nodes |         self_loops: allow for edges between the same node"""defset_constraints(self):## Write main constraints here ### Sets the constraint of N to be between 1 and 10^3 inclusive.# In this case, this is a graph with N nodes.self.N=Constraint(1,10**3)# creates the graph generatorself.ee=GraphGenerator()# Creates the variable that returns the next edge in the graph.# The 1s are filler values.self.E=Constraint(1,1,self.ee.next_edge)# Sets the graph type to be some graph type between 10 and 14.# Please read the initialize method doc for details.# In this case, the graph type is some form of a tree.self.graph_type=Constraint(10,14)defgenerate_input(self):## Write generator here ##n=self.N.nextyieldnself.ee.initialize(n,self.graph_type.next)foriinrange(n-1):yieldself.E.nextCase.SET_CONSTRAINTS=set_constraintsCase.SET_INPUT=generate_input# Using the yaml config to create the batches:config_yaml="""- batch: 1  constraints: {N: 1~10**3-1}  cases:   - {}   - {}   - {}   - {}   - {}   - {}"""p=ConstraintParser(data=config_yaml)p.parse()batches=p.batchesGenerator(batches=batches,exe='COMMAND_TO_GENERATE_OUTPUT').start()

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

推荐PyPI第三方库


热门话题
java JavaBridge errno=10054被Remotehost关闭   javafx如何在每次调用方法中的变量时更新它?(爪哇)   java mod_群集在发现后未平衡负载   Java软件编辑器/语法高亮   java为什么不能强制转换数组的结果。asList()到ArrayList?   java HIBERNATE:无法使用HIBERNATE从MySQL中提取数据   java在Google地图片段上添加布局   java在AbstractTableModel中执行setValueAt之前,我如何做一些事情?   java在整个Tomcat运行时保存变量   java如何在Thymeleaf模板中获取环境变量的值?   java Selenium Chrome驱动程序针对属性的标签   java正则表达式捕获未知数量的重复组