【问题标题】:Sharing objects between setup and teardown functions in nose在鼻子的设置和拆卸功能之间共享对象
【发布时间】:2015-02-21 23:01:30
【问题描述】:

我正在使用nose,我需要启动一个HTTP 服务器进行测试。我在设置功能中启动它,并在拆卸功能中停止它,如下所示:

from my_service import MyClient, MyServer


def setup():
    global server
    server = MyServer()
    server.start()

def teardown():
    server.stop()


def test_client():
    client = MyClient('localhost', server.port)
    assert client.get_colour() == "blue"

除了这个全局变量之外,有没有更优雅的方法让服务器对象可用于拆卸函数和测试?也许从 setup 返回的值将作为参数传递给测试和拆卸?

【问题讨论】:

    标签: python testing nose nosetests


    【解决方案1】:

    你考虑过unittest吗?出于这个原因,它确实存在,鼻子会很好地使用它:

    import unittest
    
    class MyLiveServerTest(unittest.TestCase):
        def setUp(self):
            self.server = MyServer()
            self.server.start()        
    
        def test_client(self):
            client = MyClient('localhost', self.server.port)
            assert client.get_colour() == "blue"
    
        def tearDown(self):
            self.server.stop()
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多