zoukankan      html  css  js  c++  java
  • 笨办法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
  • 相关阅读:
    Redis面试总结
    文件上传文件的权限lnmp 环境配置,尤其整个项目复制过来
    linux cat /etc/passwd 说明
    php上传文件与图片到七牛的实例详解
    一起谈.NET技术,参数编码 完全解决方案 狼人:
    一起谈.NET技术,在.NET中使用域对象持续模式 狼人:
    一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势 狼人:
    一起谈.NET技术,从扩展方法到流畅的程序体验(一) 狼人:
    一起谈.NET技术,构建高性能ASP.NET站点之一 剖析页面的处理过程(前端) 狼人:
    一起谈.NET技术,ASP.NET MVC 2 验证消息本地化策略扩展 狼人:
  • 原文地址:https://www.cnblogs.com/p36606jp/p/15113377.html
Copyright © 2011-2022 走看看