2016-08-08 2 views
4

unittestパッケージに新しく追加されました。 次のコードで関数から返されたDataFrameを確認しようとしています。 assert_frame_equalの入力を均等()にハードコードしても、unittestは失敗します。誰がなぜそれが起こるのか説明したいですか?unittestでassert_frame_equalを使用する方法

import unittest 
from pandas.util.testing import assert_frame_equal 
class TestSplitWeight(unittest.TestCase): 
    def test_allZero(self): 
     #splitWeight(pd.DataFrame([0,0,0,0]),10) 
     self.assert_frame_equal(pd.DataFrame([0,0,0,0]),pd.DataFrame([0,0,0,0])) 

suite = unittest.TestLoader().loadTestsFromTestCase(TestSplitWeight) 
unittest.TextTestRunner(verbosity=2).run(suite) 
Error: AttributeError: 'TestSplitWeight' object has no attribute 'assert_frame_equal'

答えて

6

assert_frame_equal()pandas.util.testingパッケージから、ではないunittest.TestCaseクラスから来ています。上に露出assert_frame_equal属性やメソッドがないので、あなたがself.assert_frame_equalを持っていたとき、それはunittest.TestCaseインスタンス上assert_frame_equal属性を見つけることを試みた

assert_frame_equal(pd.DataFrame([0,0,0,0]), pd.DataFrame([0,0,0,0])) 

、および:

self.assert_frame_equal(pd.DataFrame([0,0,0,0]),pd.DataFrame([0,0,0,0])) 

で:交換してくださいunittest.TestCaseクラスでは、AttributeErrorが発生しました。

関連する問題