func TestWorker(t *testing.T) { tes := new(monitor.MonitoredWorker) itw := &TestWork{From: 1, To: 8, sleep: 300} tes.Itw = itw tes.Start() log.Println(tes.Start()) time.Sleep(time.Second * 1) if tes.GetState() != 1 { t.Error("Expected Running(1)") return } tes.Stop() if tes.GetState() != 0 { t.Error("Expected Stoped(0)") return } tes.Start() time.Sleep(time.Second * 9) if tes.GetState() != 3 { t.Error("Expected Comlete(3)") return } tes.Start() time.Sleep(time.Second * 1) if tes.GetState() != 3 { t.Error("Expected Failed(3)") return } }