Python3:模拟sys.platform

时间:2018-12-06 18:32:26

标签: python-3.x

我已阅读以下文章:

Change OS for unit testing in Python

但是我的函数 get_excecution_file_for_os 中的变量 platform 保持不变。

我的单元测试设置如下:

from mypackage import Mymodule
import unittest
from unittest import mock

def setUp(self):
    Mymodule = mock.MagicMock()
    Mymodule.configure_mock(platform='win32')

def test_get_excecution_file_for_os(self):
    result = Mymodule.get_excecution_file_for_os()
    self.assertEqual("/run_osx.command", result)

我的模块:

from sys import platform

def get_excecution_file_for_os():
    if platform == "linux" or platform == "linux2":
        # linux
        pass
    elif platform == "darwin":
        # OS X
        return "/run_osx.command"
    elif platform == "win32":
        #Windows
        return "\\run_windows.cmd"

我在setup()中用sys替换了Mymodule,但这也不起作用。

0 个答案:

没有答案