我想试着按照TDD实践写一些代码。我想创建一个基于python龙卷风框架的简单应用程序。我在网上搜索人们是如何为龙卷风编写测试的,发现了这样的东西:class TestSomeHandler(AsyncHTTPTestCase):
def test_success(self):
response = self.fetch('/something')
self.assertEqual(response.code, 200)
如果我错了,请纠正我,但它看起来更像集成测试。我试图为一些虚拟处理程序编写简单的单元测试。例如:class SomeHandler(BaseHandler):
@gen.coroutine
def get(self):
try:
from_date = self.get_query_argument("from", default=None)
datetime.datetime.strptime(from_date, '%Y-%m-%d')
except ValueError:
raise ValueError("Incorrect argument value for from_date = %s, should be YYYY-MM-DD" % from_date)
测试结果如下:class TestSomeHandler(AsyncHTTPTestCase):
def test_no_from_date_param(self):
handler = SomeHandler()
with self.assertRaises(ValueError):
handler.get()
我知道我错过了get()应用程序和请求。尚未处理如何创建它们。
但我的问题是,人们是像第一个例子那样为tornado编写测试,还是有人在应用程序内部调用处理程序?要遵循什么模式?如果有人能分享相关的代码那就太好了。