用python写的fitnesse DoFixture例子

这个例子主要是对metadata的定义,比较麻烦,可参考:

http://lists.idyll.org/pipermail/testing-in-python/2007-May/000304.html

 

代码:

from fitLib.DoFixture import DoFixture
from fitLib.ListTree import ListTree, Tree, TreeTypeAdapter

import os
from onshs.ne import NetRing

class LgChssMngDo(DoFixture):
    _typeDict={
        "slot": "Int",
        "create": "String",
        "slotCreate.types": [TreeTypeAdapter,"Int", "String"],
        "commit.types":  [TreeTypeAdapter],

        "slotInstallCard.types":  [TreeTypeAdapter, "Int", "String"],
        }

    def __init__(self):
        self.ne1 = NetRing()
        self.ne1.connect("127.0.0.1",3333,'hokotelne','nerpc2002')
        self.ne1.send('$.ne.0.Initial 0')

    def CheckRet(self, ret):
        if ret.find('success') == -1:
           return False
        else:
           return True
   
    def slotCreate(self, slot, create):
        str = '$.ne.lgChss.cfging.0.CreateChss 0,0,%d,%s'%(slot, create)
        ret = self.ne1.send(str)
        return self.CheckRet( ret )

    def commit(self):
        ret = self.ne1.send('$.ne.0.TryCommit 0')
        return self.CheckRet( ret )

 

    def slotInstallCard(self, slot, card):
        ret = self.ne1.send('$.ne.lgChss.valid.0.QueryChssType 0,%d'%(slot))
        if False == self.CheckRet(ret):
            return False
        if ret.find(card) == -1:
            return False
        return True

测试:


LgChssMngDo
slot 7 create S64F01
slot 11 create XC30
commit
ensure slot 7 install S64F01 card


小提示:

可以在一个页面上放多个fixture,不管是DoFixture, 还是ActionFixture,比如:

 

LgChssMngDo

 

slot 7 create S64F01
slot 11 create XC30

 

commit

 

fit.ActionFixture
start LgChssMngAct
enter slot 6
enter card_type S64F01
press CreateChss
check res_info success
enter slot 2
enter card_type S64F01
press CreateChss
check res_info fail
press Try
check res_info success

 

LgChssMngDo
slot 7 create S64F01
slot 11 create XC30
commit

 

你可能感兴趣的:(python,String,tree,测试,import,Types)