0
単体テストでは少し問題があります。ここではセットアップでプロセスが実行されているかどうかを確認し、そうでない場合はPopenを使用して実行します。Popenを呼び出してKill()を呼び出すときのゾンビプロセス
teardown()
私はmyprocess.kill()
を呼び出します。そのため、テストごとにクリーンな状態が得られます。
これは初回のみ正常に動作します。そのプロセスでkillコマンドを呼び出すと、ゾンビ状態(Z +)になります。これは、Popenがテストケースのセットアップ段階に由来しているので、これを取り除くために、私はユニットテストクラスもまた削除する必要があることを意味します。
これを回避する方法はありますか?私はpytestを使ってテストを呼び出し、ユニットテストpythonスクリプトをパラメータとして渡します。
class Mytest(unittest.TestCase)
running_process = ""
def setUp(self):
command = "~/myprocess"
self.running_process = Popen(command, shell=True, stdout=PIPE, stderr=STDOUT)
def test_tryprocess(self):
#do something
def test_tryprocess_again(self):
# do something else
def tearDown(self):
self.running_process.kill()