2011-04-15 22 views

回答

2

您可以使用該WebTest的包,它允許您將在支持.get()一個TestApp.post()你的WSGI應用程序等

http://docs.pylonsproject.org/projects/pyramid/1.0/narr/testing.html#creating-functional-tests在金字塔細節功能測試,貼在這裏爲後人:

import unittest 

class FunctionalTests(unittest.TestCase): 
    def setUp(self): 
     from myapp import main 
     app = main({}) 
     from webtest import TestApp 
     self.testapp = TestApp(app) 

    def test_root(self): 
     res = self.testapp.get('/', status=200) 
     self.failUnless('Pyramid' in res.body) 
+0

這樣,它檢查整個應用程序和res對象沒有關於上下文。我需要的測試應該只測試遍歷以查看它是否在上下文中返回正確的對象。 – mdob 2011-04-15 22:36:12

1

金字塔並沒有真正公開測試一個真正的請求和接收有關的內部信息的方法。您可以使用自己執行橫移:

from pyramid.traversal import traverse 

app = get_app(...) 
root = get_root(app) 
out = traverse(root, '/my/test/path') 

context = out['context'] 

然而,測試是有點做作。使用功能測試來檢查返回的頁面是否符合您的期望會更有意義。

相關問題