使用多种设置重构鼻子测试

发布于 2024-11-02 04:47:20 字数 393 浏览 3 评论 0原文

假设您获得以下测试代码,其中 test1test2 方法对 grid 对象运行一些测试。

N = 10
grid = Grid(N)

def test1():
    ...

def test2():
    ...

N = 11 时添加测试以便在新对象上运行相同的方法 test1 和 test2 的最佳方法是什么?当然,可以简单地创建一个如下所示的新文件

N = 11
grid = Grid(N)

def test1():
    ...

def test2():
    ...

,但这会导致大量代码重复。

Assume you are given the following testing code, where the test1 and test2 methods run some tests on the grid object.

N = 10
grid = Grid(N)

def test1():
    ...

def test2():
    ...

What is the best way to add tests for when N = 11 so that the same methods test1 and test2 are run on the new object? Of course one could simply create a new file like below

N = 11
grid = Grid(N)

def test1():
    ...

def test2():
    ...

but that would result in a lot of code duplication.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偏爱自由 2024-11-09 04:47:20

使用全局变量是设置测试用例的一种棘手方法。您应该将测试重构为如下所示。

def test1(N):
    grid = Grid(N)
    ...


def test2(N):
    grid = Grid(N)
    ...

从那里开始,您似乎想看看 测试生成器包含在nose中。

Using global variables is kind of a sticky way to set up test cases. You should refactor your tests into something like the following.

def test1(N):
    grid = Grid(N)
    ...


def test2(N):
    grid = Grid(N)
    ...

From there, it looks like you want to take a look at the test generators included in nose.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文