假设一个脚本启动一个TKinter GUI(例如,scripts/launch_GUI.py
),并且是PyPI包的一部分(例如MyPackage
)。在
.
├── appveyor.yml
├── MyPackage
│ ├── TkOps.py
│ └── CoreFunctions.py
├── README.md
├── requirements.txt
├── scripts
│ ├── launch_CLI.py
│ └── launch_GUI.py
├── setup.py
└── tests
└── MyPackage_test.py
启动脚本非常简单:
^{pr2}$在启动launch_GUI.py
时,如果TKinter GUI正确启动,您会推荐什么unittest?在
注意:我只想评估启动脚本是否执行其工作并启动GUI,而不是用户是否可以与GUI交互。在
可以说你需要一个功能性的测试,而不是一个单元测试,但是我们还是试试这个吧!在
虽然可以通过
exec()
按原样测试启动脚本,但这被认为是不好的做法。让我们重构它:然后让我们确定单元测试应该测试什么,例如:
sys.path
更新为MyPackage
的正确路径start_GUI
被调用然后mokist[1]单元测试可以是这样的:
^{pr2}$一个经典的单元测试需要GUI中的一个转义舱口,例如:
[1]https://agilewarrior.wordpress.com/2015/04/18/classical-vs-mockist-testing/
相关问题 更多 >
编程相关推荐