2016-09-12 4 views
-1

ちょっと私はPythonには新しく、いくつかのコードのUnitテストを作成しようとしています。私はコードが偶数であるかどうか疑問に思っています。テスト可能。Unittestの作成

""" 
Core employee class 
""" 


class Employee(object): 
empCount = 0 

def __init__(self, name, salary, debt, takehome): 
    self.name = name 
    self.salary = salary 
    self.debt = debt 
    self.takehome = takehome 

def display_employee(self): 
    print "Name : ", self.name, ",Salary: ", self.salary, "Debt: ", \ 
     self.debt, "Take Home: ", self.takehome 


emp1 = Employee("Scott", 2000, 200, 2000-200) 

emp2 = Employee("Mary", 5000, 300, 5000-300) 

emp3 = Employee("Sam", 4000, 700, 4000-700) 

emp4 = Employee("Sarah", 7000, 2000, 7000-200) 

emp5 = Employee("Charlie", 10000, 5000, 10000-5000) 

emp6 = Employee("Tony", 16000, 20000, 16000-20000) 


employees = [emp1, emp2, emp3, emp4, emp5, emp6] 


for employee in employees: 
    employee.display_employee() 


Employee.empCount = len(employees) 

print "Total Employees is %d" % Employee.empCount} 

私はそれがより簡単にユニットテストを実行することができるようにコードを変更する必要がある場合は、誰も私に多くのも、任意のヒントをいただければ幸い手を与える場合

+1

[編集]あなたの質問は、インデントを修正してください。 –

+0

あなたの質問は何ですか? "これをユニットテストするにはどうすればいいですか?" ...そこにはテストがあまりありません。 'display_employee'というメソッドは1つしかありません。これは、文字列を出力する以外に何も_do_しません。 (あなたのクラスは、そのメソッドが '__str__'と呼ばれ、文字列を返すなら、あなたのクラスはもっと使いやすくなりますが、まだテストすることはあまりありません。)' __init__'メソッドは何もしません。 'test_pythons_assignment_statement_works'という単体テストは単なる時間の無駄になります。 –

答えて

0

私はあなたのクラスがテスト可能だと思います。しかし、あなたは `_init__`メソッドと表示メソッドしか持っていないので、テストは簡単です。

ユニットテストの開始は、unittestライブラリを使用しています。

はそれぞれ「公共」の方法のために、単一のテスト関数を書く: Testing Your Code

class TestEmployee(unittest.TestCase): 
    def test_init(self): 
     ... 

    def test_display_employee(self): 
     ... 

は、この1を見て、インターネット上のチュートリアルがたくさんあります。

も参照してください:Python testing