duk*_*reg 3 python tdd unit-testing
我即将使用python和libtcod roguelike游戏库制作游戏.
更重要的是,我正在使用PyMock,因为我刚开始学习测试驱动开发,我决心不作弊.我真的想养成正确的习惯,根据TDD,我需要在编写第一行代码之前进行失败的单元测试.
我认为我对"生产"代码的第一次测试应该是导入它的依赖项libcotdpy.
我的测试文件:
#!/usr/bin/python
import pymock # for mocking and unit testing
import game # my (empty) production code file, game.py
class InitializeTest(pymock.PyMockTestCase):
def test_libtcod_is_imported(self):
# How do I test that my production file imports the libtcodpy module?
if __name__=="__main__":
import unittest
unittest.main()
Run Code Online (Sandbox Code Playgroud)
请:
1)(python people)如何测试模块是否已加载?
2)(TDD人)我应该对这个基本的单元测试吗?如果没有,我应该测试的第一件事是什么?
1)'your_module' in sys.modules.但实际上并没有使用它:
2)什么应你的图书馆应该怎么办?它"依赖于libcotdpy"吗?我想不是.
你刚刚做了一个不是测试驱动的设计选择!
编写一个演示如何使用库的测试.不要考虑你将如何实现它.例如:
player = my_lib.PlayerCharacter()
assert player.position == (0, 0) # or whatever assert syntax `pymock` uses
press_key('k')
assert player.position == (0, 1)
Run Code Online (Sandbox Code Playgroud)
或类似的东西.(我不知道你希望你的图书馆做什么,或者libtcod提供了多少.)