2017-01-04 25 views
2

私は素晴らしいコードを書いています。今ではそのコードのテストを書くことができます。 私のチームは模擬テストとpytestを使用していますが、私は本当に何かをコピーして貼り付けて変更することはできませんでした。私はちょうどここで例えば、キックスタートを必要とする は、私のコードの一部です:paramiko ssh接続のためのPythonユニットテスト

ssh = paramiko.SSHClient() 
ssh.load_system_host_keys() 
ssh.connect(hostname='1.2.3.4', username='ubuntu') 

誰かが私には、このためのシンプルなユニットテストを書く際に役立つことはできますか? 私は自分のコードについて考え、テストを書く必要があると思っていますが、これまでにこれをやったことはありませんので、実際に始めようとしています。

答えて

0

単体テストは、要件ごとにコードが動作することを保証します。要件を取得し、コードが機能することを確認するためのテストを作成し、コードが適切なエラーをスローすることを示します。 RobotFrameworkまたは別のテストオートメーションSWを使用して、テストを自動化することができます。あなた自身を頼むかもしれないいくつかの質問は次のとおりです。

ssh = paramiko.SSHClient()

  • paramiko.SSHClientが存在しますか?
  • は動作していますか?
  • どうすれば失敗しますか?
  • エラーが発生しますか、またはSWがハングしますか。

ssh.load_system_host_keys()

  • あなたはシステムキーをロードすることはできますか?
  • これをどのように確認できますか?

ssh.connect(hostname='1.2.3.4', username='ubuntu')

  • はどのように接続が存在することを証明することができますか?
  • 別のホストに接続しようとするとどうなりますか?
  • エラーメッセージが表示されますか?
  • ユーザ名「ubuntu」でログオンできますか?
  • 別のユーザー名を入力するとどうなりますか?
  • 接続に失敗しましたか?
  • セキュリティに関するクラッカーの手がかりを与えないように一般的なエラーが表示されますか?

ユニットテストの証明は、通常、画面キャプチャ、ログエントリ、またはテストを実行したときに期待した結果を示すドキュメントです。お役に立てれば。

0

unittestモジュールを使用する方法についての

import unittest 
import paramiko 

class SimpleWidgetTestCase(unittest.TestCase): #This class inherits unittest.TestCase 

    #setup will run first 
    def setUp(self): 
     self.ssh = paramiko.SSHClient() 
     self.ssh.load_system_host_keys() 
     self.ssh.connect(hostname='1.2.3.4', username='ubuntu') 

    #Your test cases goes here with 'test' prefix 
    def test_split(self): 
     #your code here 
     pass 


    #this will run after the test cases 
    def tearDown(self): 
     #your code to clean or close the connection 
     pass 

if __name__ == '__main__': 
    unittest.main() 

以下の詳細な情報はこちらをhttps://docs.python.org/2/library/unittest.html

1の提案を見つけることができるようにあなたは、ユニット・テスト・モジュールを使用することができます。robotframeworkはユニットと比較してテストケースを設計するためのより良いオプションですあなたがRobotframeworkにあなたの時間を投資することができない限り、テストします。

関連する問題