簡體   English   中英

在python中使用unittest測試類初始化程序

[英]Testing class initializer using unittest in python

我正在使用unittest模塊編寫測試。 我需要使用不同的輸入來測試測試用例中對象的初始化。 為此,我將類導入setUp()中。 但是當我嘗試在test _ *()函數中使用該類時,出現此錯誤NameError: name 'Example' is not defined

這是我的代碼示例-

import unittest
class TestExample(unittest.TestCase):
    def setUp(self):
        import Example

    def test_sample_function(self):
        e = Example(1,2)

我知道我可以簡單地將類導入腳本的頂部。 但是我不想這樣做。 我只需要在測試腳本的設置過程中導入它。 在這里尋求幫助。

import unittest
class TestExample(unittest.TestCase):
    def setUp(self):
        import Example
        self.Example = Example

    def test_sample_function(self):
        e = self.Example(1,2)

沒有理由在setUp導入模塊。 該模塊仍在sys.modules全局可用,但是您僅將其綁定到setUp返回后消失的本地名稱。 只需將其導入全球即可。

import unittest
import Example


class TestExample(unittest.TestCase):
    def test_sample_function(self):
        e = Example(1,2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM