-7

1)是否可以跟踪应用程序抛出的异常数量?我可以编写一个能打印出这样一个数字的测试吗?未捕获的异常会停止执行,所以很容易,但是捕获的异常呢?

2)我如何编写一个测试来告诉我在一秒钟内完成的活动数量?例如,代码在一秒钟内抛出的平均异常数、每秒保存的平均实体数、每秒登录到该站点的平均用户数等。例如,我想在我的 web 应用程序上加载一些负载并找出有多少它可以在这样的负载下每秒保存的实体,其中限制等

3)我想知道某行执行了多少次。我可以在不更改代码的情况下做到这一点吗?

4)我想在代码执行过程中看到表达式的值而不改变代码(*)

5) 我想不在断点处停止我的应用程序的执行,但只有在某个表达式或变量等于某个值时(例如,如果此变量为空,则停止应用程序)。当然,无需更改代码。

(*) 也许我可以为此使用手表。Idea调试器有这个功能,我可以在执行过程中看到一些表达式的值。但是当执行第二次到达该行时,旧值被清除。如何以动态方式查看表达式值?

4

1 回答 1

0

是否可以跟踪应用程序抛出的异常数量?

当你抓住它们时,数一数。

我可以编写一个能打印出这样一个数字的测试吗?

数完后打印出来。在单元测试中打印数字并不是很有用,因为它们通常被忽略。它必须是自动化的。

未捕获的异常会停止执行,所以很容易,但是捕获的异常呢?

你是捕捉异常的人,所以你必须检查你的代码来记录这一点。如果它不是您的代码,则无需担心对其进行测试。

我如何编写一个测试来告诉我在一秒钟内完成的活动数量?

重复执行一项任务一秒钟,然后打印它在一秒钟内完成了多少次。对于长时间运行的测试,最好运行几秒钟并取平均值。同样,仅打印此数字并不总是很有用。

我想知道某行执行了多少次。我可以在不更改代码的情况下做到这一点吗?

我们在谈论单元测试还是其他方式?

对于单元测试,您可以使用字节码操作,但这比更改代码复杂 100 倍。

您可以使用为您提供此信息和报告的代码覆盖率工具。例如,Emma 报告或 Idea 内置。注意:这不是内置在免费版本中的。

我想在不更改代码的情况下在代码执行期间查看表达式的值

您可以使用 beanshell 为表达式和调试接口执行此操作。这再次比在代码中添加一行复杂 1000 倍。

通常,您会为此使用调试器。

我想不在断点中停止我的应用程序的执行,但只有在某个表达式或变量等于某个值时(例如,如果此变量为空,则停止应用程序)。当然,无需更改代码。

您不能在不更改代码的情况下停止。

大多数调试器都支持这一点,但它们通过在停止代码后执行检查并在不满足条件时自动继续来实现。

但是当执行第二次到达该行时,旧值被清除。如何以动态方式查看表达式值?

使用 Watch 而不是 Evaluate 表达式。

于 2012-09-08T07:32:42.183 回答