使用EMMA检查代码覆盖范围

最后编辑了

艾玛 代码覆盖工具可以使用Quish for Java来检查Java应用程序的Quish测试的代码覆盖范围。

但是,由于emma在关闭执行Java应用程序的JVM时写下其覆盖信息,因此Quish测试脚本通常会将其正常关闭Java应用程序是重要的。

如果您允许您的测试脚本结束而不首先关闭应用程序,则Quish将杀死JVM过程,并且覆盖信息将不会被EMMA保存。

此外,为避免在应用程序完全退出之前,请避免粗糙的测试脚本执行,请务必在测试脚本的末尾插入WAITFOR()和Snooze()语句。贪睡时间应该足够大,以便有一些安全。 (当然,您也可以检查过程列表是否仍然存在。)

所以最终脚本应该有点类似:

def main()
    ctx = startApplication("my_java_app")

    # Do some stuff

    # Script code for quitting the application

    # Wait for application context of our application
    # to claim that the application is not hook/running
    # anymore:
    waitFor("!ctx.isRunning")

    # In addition, snooze to make sure test script ends
    # only after the application has really quit; adjust
    # snooze time to how long your application requires
    # to quit:
    snooze(20)