基于模型的测试框架的想法 (二)

本文介绍了一种从复杂的命令行语法中解析并生成所有可能的命令组合的方法。通过两个示例展示了如何将带有选项和值的命令行输入转换为一系列有效的命令输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么会想起来要建立测试的模型,主要是基于一个以前项目的想法。下面是这个项目的例子,非常容易明白,输入是命令行的语法,输出是可能的所有命令的组合,还有一个图例,用线条表示出所有可能的命令组合。


Input:

command -option1 <value1> -option2 { { value2-1 | value2-2 } -option3 <value3> { -option4 <value4> | -option5 } -option6 <value6> { -option7 <value7> | -option8 } | { value2-3 | value2-4 } -option9 <value9> { -option10 <value10> | -option11 } }


Output:

 command -option1 <value1> -option2 value2-1 -option3 <value3> -option4 <value4> -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-4 -option9 <value9> -option10 <value10>
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option4 <value4> -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option4 <value4> -option6 <value6> -option8
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option5 -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-3 -option9 <value9> -option10 <value10>
 command -option1 <value1> -option2 value2-4 -option9 <value9> -option11
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option5 -option6 <value6> -option8
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option4 <value4> -option6 <value6> -option8
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option5 -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-3 -option9 <value9> -option11


Output with Graph:


Another example:

input:

getup eat { bread | egg | noodle | apple } [ drink { juice | water | milk } ] { work | play { swimming | pool | football | basketball | badminton | pingpang } | listen music | watch { movie | TV } } 

output:

optimized possible combinations:


 getup eat bread drink juice work
 getup eat bread drink juice play swimming
 getup eat noodle drink milk listen music
 getup eat noodle drink milk watch movie
 getup eat noodle drink milk work
 getup eat noodle drink milk play pool
 getup eat noodle drink milk play football
 getup eat noodle drink milk play basketball
 getup eat noodle drink milk play badminton
 getup eat noodle drink milk play pingpang
 getup eat noodle drink milk watch TV
 getup eat bread drink water work
 getup eat apple drink juice work
 getup eat egg drink juice work
 getup eat noodle drink milk play swimming
 getup eat apple drink juice listen music
 getup eat apple drink juice watch movie
 getup eat bread drink water play swimming
 getup eat bread drink water play pool
 getup eat apple drink juice play swimming
 getup eat apple drink juice play pool
 getup eat apple drink juice play football
 getup eat apple drink juice play basketball
 getup eat apple drink juice play badminton
 getup eat apple drink juice play pingpang
 getup eat apple drink juice watch TV
 getup eat bread drink water play football
 getup eat apple drink water listen music
 getup eat apple drink water watch movie
 getup eat bread drink water listen music
 getup eat bread drink water watch movie
 getup eat egg drink juice play swimming
 getup eat egg drink juice listen music
 getup eat egg drink juice watch movie
 getup eat apple drink water work
 getup eat apple drink water play basketball
 getup eat apple drink water play badminton
 getup eat apple drink water play pingpang
 getup eat apple drink water watch TV
 getup eat bread drink water play basketball
 getup eat apple drink milk work
 getup eat bread drink water play badminton
 getup eat bread drink water play pingpang
 getup eat bread drink water watch TV
 getup eat bread drink milk work
 getup eat egg drink juice play pool
 getup eat egg drink juice play football
 getup eat egg drink juice play basketball
 getup eat egg drink juice play badminton
 getup eat egg drink juice play pingpang
 getup eat egg drink juice watch TV
 getup eat egg drink water work
 getup eat egg drink milk work
 getup eat noodle drink juice work
 getup eat noodle drink water work


Graph with combinations:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值