• 笨办法47自动化测试


    目录结构:

    ex47/
        ex47/
           __init__.py
           game.py
        bin/
        docs/
        setup.py
        tests/
           ex47_tests.py
           __init__.py

    game.py文件:

    class Room(object):
        def __init__(self, name, description):
            self.name = name
            self.description = description
            self.paths = {}
    
        def go(self, direction):
            return self.paths.get(direction, None)
    
        def add_paths(self, paths):
            self.paths.update(paths)

    ex47_tests.py

    # coding:utf-8
    from nose.tools import *
    from ex47.game import Room
    
    
    def test_room():
        gold = Room("GoldRoom",
                    """This room has gold in it you can crab. 
                    There's a door to the north.""")
        assert_equal(gold.name, "GoldRoom")
        assert_equal(gold.paths, {})
    
    
    def test_room_paths():
        center = Room("Center", "Test room in the center.")
        north = Room("North", "Test room in the north.")
        south = Room("South", "Test room in the south.")
    
        center.add_paths({'north': north, 'south': south})
        assert_equal(center.go('north'), north)
        assert_equal(center.go('south'), south)
    
    
    def test_map():
        start = Room("Start", "You can go west and down a hole.")
        west = Room("Trees", "There are trees here, you can go east.")
        down = Room("Dungeon", "It's dark down here, you can go up.")
    
        start.add_paths({'west': west, 'down': down})
        west.add_paths({'east': start})
        down.add_paths({'up': start})
    
        assert_equal(start.go('west'), west)
        assert_equal(start.go('west').go('east'), start)
        assert_equal(start.go('down').go('up'), start)

    运行结果:

    (lpthw) C:Python37Scriptsprojectsex47>nosetests
    ...
    ----------------------------------------------------------------------
    Ran 3 tests in 0.034s
    
    OK

    直接执行脚本ex47_tests.py时有如下报错:

    (lpthw) C:Python37Scriptsprojectsex47	ests>python ex47_tests.py
    Traceback (most recent call last):
      File "ex47_tests.py", line 3, in <module>
        from ex47.game import Room
    ModuleNotFoundError: No module named 'ex47'

    追踪原因就是 game.py路径未加到python搜索路径中

    修改代码:

    # coding:utf-8
    from nose.tools import *
    
    import nose
    import sys
    sys.path.append("../ex47")
    
    from game import Room
    
    
    def test_room():
        gold = Room("GoldRoom",
                    """This room has gold in it you can crab. 
                    There's a door to the north.""")
        assert_equal(gold.name, "GoldRoom")
        assert_equal(gold.paths, {})
    
    
    def test_room_paths():
        center = Room("Center", "Test room in the center.")
        north = Room("North", "Test room in the north.")
        south = Room("South", "Test room in the south.")
    
        center.add_paths({'north': north, 'south': south})
        assert_equal(center.go('north'), north)
        assert_equal(center.go('south'), south)
    
    
    def test_map():
        start = Room("Start", "You can go west and down a hole.")
        west = Room("Trees", "There are trees here, you can go east.")
        down = Room("Dungeon", "It's dark down here, you can go up.")
    
        start.add_paths({'west': west, 'down': down})
        west.add_paths({'east': start})
        down.add_paths({'up': start})
    
        assert_equal(start.go('west'), west)
        assert_equal(start.go('west').go('east'), start)
        assert_equal(start.go('down').go('up'), start)
    
    
    if __name__ == "__main__":
        nose.runmodule()

    运行结果:(需更改路径运行)

    (lpthw) C:Python37Scriptsprojectsex47	ests>nosetests
    ...
    ----------------------------------------------------------------------
    Ran 3 tests in 0.001s
    
    OK
    
    (lpthw) C:Python37Scriptsprojectsex47	ests>python ex47_tests.py
    ...
    ----------------------------------------------------------------------
    Ran 3 tests in 0.001s
    
    OK
  • 相关阅读:
    汇编10:CALL和RET指令
    汇编09:转移指令的原理
    汇编08:数据处理的两个基本问题
    汇编07:定位内存地址的方法
    汇编06:包含多个段的程序
    汇编05:[BX]和loop指令
    汇编04:第一个汇编程序
    汇编03:寄存器
    C#版的mongodb最新的官方驱动2.4.0版本
    如何教你看懂复杂的正则表达式
  • 原文地址:https://www.cnblogs.com/p36606jp/p/15113377.html
Copyright © 2020-2023  润新知