0

テスト スイート関数がrunTests.pyあり、このファイルからテストを実行します。

def suite():
    suite.addTest(makeSuite(Class1))
    suite.addTest(makeSuite(Class2))
    ...
    suite.addTest(makeSuite(ClassN))

if __name__ == '__main__':
    # grab argument from the command line and
    # initiate myVar1 and myVar2 here before running the suite
    # run the suite here

私が望むのは、ステートメントrunTests.pyでスイートを実行する直前に、コマンドラインから引数を読み込み、内部でそれらを開始することです。これらの変数は、、 などifの内部でも使用されます。Class1Class2

runTests.py内部にスイート定義の前に次のものがあれば正しいでしょうか

myVar1 = 'defaultValue'
myVar2 = 'defaultValue'

次に、ifステートメントで、コマンド ラインから引数を取得し、初期化myVar1myVar2ます。したがって、他のクラスでは、たとえばClass1、次のようにインポートします。

from runTests import myVar1
from runTests import myVar2

基本的には、コマンド ラインからいくつかのパラメーターを読み取り、それらの値を他のクラスで使用できるようにする必要があります。ありがとう!

4

3 に答える 3

0
import sys
params = sys.argv

sys.argv はリストを提供します

$ python myproram.py var1 var2 var3

sys.argv[0] => myprogram.py

sys.argv[1] => var1

sys.argv[2] => var2

これにはどのクラスでもアクセスできます

于 2012-06-20T16:45:31.270 に答える
0
from os import sys


class addc:
    def __init__(self , no1 , no2):
        self.no1 = no1
        self.no2 = no2
    def addition(self):
        total = self.no1 + self.no2
        return total



if len (sys.argv) !=3:
    print "no u cant go forwrd"
    print "agument is less"
    sys.exit()

obj_initial = addc(2 , 3 ) 
ans1 = obj_initial.addition() 
print " the total of internla argumnet is %i"%ans1

cmnd_argu1 = int(sys.argv[1]) 
cmnd_argv2 = int (sys.argv[2])

obj_cmnd_argu = addc(cmnd_argu1 , cmnd_argv2)
ans2_cmnd_argu = obj_cmnd_argu.addition()
print " the total of internla argumnet is %i" % int(ans2_cmnd_argu)
于 2012-06-20T18:42:28.463 に答える
0

私は動作するstackoverflowからこれを使用することになりました。基本的に、共有変数myVar1myVar2新しいファイルmyfile.pyに入れてから、次のように変数import myfilerunTests.py値を割り当てます。

myfile.myVar1 = sys.argv[1]

を使用する必要がある他のファイルでは、myVar1import myfileのように変数を使用します。

myfile.myVar1
于 2012-06-20T19:15:33.007 に答える