我正在使用行为来对我的 Django 应用程序进行验收测试。是否有可能生成实际测试所需的 python 代码?到目前为止,我所拥有的骨架如下:
@given('I am logged in')
def step_impl(context):
assert False
@given('I am on the contact list')
def step_impl(context):
assert False
...
我正在使用行为来对我的 Django 应用程序进行验收测试。是否有可能生成实际测试所需的 python 代码?到目前为止,我所拥有的骨架如下:
@given('I am logged in')
def step_impl(context):
assert False
@given('I am on the contact list')
def step_impl(context):
assert False
...
Django 测试示例页面上给出了一些示例,这将为您提供以下内容作为起点:
from behave import given, when, then
@given('a user')
def step_impl(context):
from django.contrib.auth.models import User
u = User(username='foo', email='foo@example.com')
u.set_password('bar')
@when('I log in')
def step_impl(context):
br = context.browser
br.open(context.browser_url('/account/login/'))
br.select_form(nr=0)
br.form['username'] = 'foo'
br.form['password'] = 'bar'
br.submit()
@then('I see my account summary')
def step_impl(context):
br = context.browser
response = br.response()
assert response.code == 200
assert br.geturl().endswith('/account/')
@then('I see a warm and welcoming message')
def step_impl(context):
# Remember, context.parse_soup() parses the current response in
# the mechanize browser.
soup = context.parse_soup()
msg = str(soup.findAll('h2', attrs={'class': 'welcome'})[0])
assert "Welcome, foo!" in msg
Behave 可以自动生成测试应用所需的代码吗?不,不是没有写你自己的逻辑来做到这一点。
测试 Django 应用程序的第一步应该是从编写Feature Files开始。一旦你的功能文件完成,你可以运行behave -d
它会给你存根/骨架代码,用于复制到你的步骤文件中。此时,您可以编写脚本来与您的 Django 应用程序交互。