0

コマンド ラインで「setup.py install」を使用してノーズをインストールしました。「nosetests」を実行でき、testMatch 正規表現に一致するすべての Python ファイルが取得され、%python home%\Scripts ディレクトリでテストが自動化されます。ノーズで Iron Python ファイルを操作したいのですが、%Iron Python ホーム% ディレクトリにノーズをインストールするにはどうすればよいですか? Iron Python ホーム ディレクトリに Scripts フォルダさえないことに気付きました。鉄の python コードで「nosetests」を実行しようとすると、たとえば、あらゆる種類の例外がスローされます。clr という名前のモジュールはありません。

鉄のパイソンで鼻を使っている人はいますか?もしそうなら、私を案内してください。私は一日中これに苦労してきました.現在、私の唯一の回避策は、IronPythonコードに次を追加することです:

 import nose 
 nose.main(argv=['<arguments>'])

これは、鉄のpythonファイルで鼻を使用する唯一の方法ですか?

他に方法がない場合は、nose にあるいくつかのプラグインの使用方法を知りたいですか? 特にカバレッジプラグイン?python2.6 にインストールしましたが、ironpython で動作させるにはどうすればよいですか?

私が尋ねている理由は、 python ではコマンドラインを呼び出すだけでプラグインを簡単に使用できるようになるためですが、IronPython ではそれを機能させる方法がわかりません。

4

2 に答える 2

0

あなたの解決策は実際にはすべてnosetestsです:

#!/usr/bin/env python

from nose import main

if __name__ == '__main__':
    main()

ノーズ エクステンションを見つけるために、システムの Python ライブラリをパスに追加する必要があります。

>>>import sys
>>>sys.path.append(r'C:\Python26\lib')

ipy.exeまた、システムの Python 実行可能ファイルではなく、スクリプトを実行していることを確認する必要があります。

于 2010-07-09T13:30:56.700 に答える
0

私は、鼻プラグインを使用する sqlalchemy テスト スイートを実行しようとしています。したがって、これは、誰かがプラグインを使用して ironpython でノーズを実行しようとしている場合に役立ちます。

setuptools は ironpython ではうまく動作しないため、これは ipy では透過的に動作しない傾向があります。

少し掘り下げた後、プラグインを手動で登録するためのnose init .pyの指示を見つけました-基本的に、プラグインクラス(nose.plugins.Pluginをサブクラス化)をインポートし、main()への呼び出しに追加します。

私のスクリプトは次のようになりました。

import sys, os
#import ironclad #not needed. i think.
sys.path.append(r'C:\Python26\lib')
#now load Jeff Hardys sqlite dll which is in sqlite folder (sqlite not supported on ipy)
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)),'sqlite'))
import clr
clr.AddReference('IronPython.SQLite')
#load plugin
from sqlalchemy.test.noseplugin import NoseSQLAlchemy
from nose import main
if __name__ == '__main__':
    main(addplugins=[NoseSQLAlchemy()])

これが誰かを助けることを願っています!

于 2010-07-11T13:51:00.210 に答える