这是一个用于Python的测试框架,使通过测试进行代码模拟和迭代的操作变得轻松简单。
项目描述
这是一个用于Python的测试框架,使 单元测试 / TDD / BDD 变得高效和愉悦。
它的良好行为的模拟和全面的API验证在代码首次编写时或在未来某个时刻修改时都能捕获到错误。
使用它们与现有的 unittest.TestCase
或 TestSlide 自带的测试运行器相结合的灵活性,让用户无需重构现有代码即可获得其优势。
快速入门
安装
pip install TestSlide
搭建您想要测试的代码 backup.py
class Backup:
def delete(self, path):
pass
编写一个测试用例 backup_test.py
描述预期的行为
import testslide, backup, storage
class TestBackupDelete(testslide.TestCase):
def setUp(self):
super().setUp()
self.storage_mock = testslide.StrictMock(storage.Client)
# Makes storage.Client(timeout=60) return self.storage_mock
self.mock_constructor(storage, 'Client')\
.for_call(timeout=60)\
.to_return_value(self.storage_mock)
def test_delete_from_storage(self):
# Set behavior and assertion for the call at the mock
self.mock_callable(self.storage_mock, 'delete')\
.for_call('/file/to/delete')\
.to_return_value(True)\
.and_assert_called_once()
backup.Backup().delete('/file/to/delete')
TestSlide 的 StrictMock
、mock_constructor()
和 mock_callable()
与 Python 的 TestCase 紧密集成。
运行测试并查看失败
TestSlide 的模拟失败信息会引导您找到解决方案,您现在可以实施
import storage
class Backup:
def __init__(self):
self.storage = storage.Client(timeout=60)
def delete(self, path):
self.storage.delete(path)
然后观察测试变为绿色
这完全是关于让失败信息引导您找到解决方案。TestSlide 的模拟内部有大量的验证,因此您可以相信,在编写代码时,它们会帮助您快速迭代,并在引入破坏性更改时为您提供保护。
完整文档
TestSlide 还能提供更多功能,请访问完整文档以了解更多信息:https://testslide.readthedocs.io/
要求
- Linux
- Python 3
加入 TestSlide 社区
TestSlide 是开源软件,非常欢迎贡献!
有关如何帮助的更多信息,请参阅 CONTRIBUTING 文件。
许可证
TestSlide 采用 MIT 许可证,如 LICENSE 文件所示。
使用条款
https://opensource.facebook.com/legal/terms
隐私政策
https://opensource.facebook.com/legal/privacy
版权
版权所有 © 2021 Meta Platforms, Inc