我将一些页面元素分成不同的可视块。
我目前正在集成来自设计器的前端htmls,所以测试它们在浏览器中的单独显示(每个块)对我来说是很重要的。
使用django-testing实现此功能的最简单方法是什么?
我知道我可以创建一个包含所有区块的视图,并通过twill或selenium调用此页面。我在想,一定有一个更简单的特定于平台的命令可以在测试中使用,比如gnome-open render_to_string(abcd.html,{})
这让我想起了Joel的思想,即雇佣一个训练有素的“测试人员”,不介意一次又一次地测试这种无聊的东西;但我不一定接受它。
另外,指定django使用in-memory-sqlite-db进行测试的最简单方法是什么,以便加速该过程?
发布于 2010-03-28 00:26:19
在use sqlite for test问题上,您可以指定一个单独的设置模块(让我们称之为test_settings),它只定义数据库设置。然后像这样运行它:
manage.py test --settings=test_settings在该文件中放入:
from settings import *
DATABASE_ENGINE = "sqlite3"如果指定了sqlite,那么测试运行器在默认情况下应该使用内存中的数据库。
关于检查单个元素的输出,这取决于您试图实现的目标。如果你的意思是你想在浏览器中手动查看一些东西,然后给它OK,那么我建议你写一个管理命令来做到这一点。测试运行器更适合于可以确定代码通过或失败的事情。如前所述,如果这是您的目标,则输出到文件,然后编写浏览器脚本以打开包含目录中所有文件的选项卡,这可能是一个好主意。你可能会发现Watir在这方面很有用,它是一个用于自动化web浏览器的开源(BSD)库。
如果可以通过编程检查您所拥有的内容(一些CSS内容,与图像进行比较,在输出中查找字符串),那么您可能会发现我在使用selenium和Python测试CSS方面所做的一些工作(http://github.com/garethr/css-test)。
发布于 2010-01-06 00:33:12
也许将render_to_string()写入文件,然后使用该文件作为参数(使用subprocess.call或类似的方法)启动浏览器?
https://stackoverflow.com/questions/2006513
复制相似问题