测试框架的测试框架。
anachronos的Python项目详细描述
不合时宜
测试框架的测试框架。
anachronos是一个端到端的测试框架,可用于多种应用程序。
若要开始,请定义一个可用于启动应用程序的ApplicationRunner
。
然后,通过继承anachronos.TestCase
来编写测试类。
工作原理
框架提供了对一个特殊的Anachronos
对象的访问,该对象既可以从测试应用程序访问,也可以从测试套件访问。
这个对象实际上充当了一个记录器,之后可以在其上运行断言。在testcase中使用self.assertThat
方法可以访问anachronos断言。
下面是一个来自jivago框架的简单测试用例示例。
importanachronosfrome2e_test.runnerimporthttpfrome2e_test.testing_messagesimportSIMPLE_GETclassSimpleResourceTest(anachronos.TestCase):deftest_simple_get(self):http.get("/")self.assertThat(SIMPLE_GET).is_stored()deftest_post_dto(self):response=http.post("/",json={'name':'Paul Atreides','age':17}).json()self.assertEqual('Paul Atreides',response['name'])if__name__=='__main__':anachronos.run_tests()
使用匹配的应用程序逻辑:
importanachronosfrome2e_test.app.components.dtos.request_dtoimportRequestDtofrome2e_test.app.components.dtos.response_dtoimportResponseDtofrome2e_test.testing_messagesimportSIMPLE_GETfromjivago.lang.annotationsimportInjectfromjivago.wsgi.annotationsimportResourcefromjivago.wsgi.methodsimportGET,POST@Resource("/")classSimpleResource(object):def__init__(self):self.anachronos=anachronos.get_instance()@GETdefsimple_get(self)->str:self.anachronos.store(SIMPLE_GET)return"OK"@POSTdefpost_body(self,request:RequestDto)->ResponseDto:returnResponseDto(request.name,True)