有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于Java应用程序测试和调试的一组问题

1)是否可以跟踪应用程序引发的异常数?我可以写一个测试来打印这样一个数字吗?未捕获的异常会停止执行,因此很容易,但是捕获的异常又如何呢

2)如何编写一个测试,告诉我一秒钟内完成的活动数量?例如,代码每秒引发的平均异常数、每秒保存的平均实体数、每秒登录到站点的平均用户数等。例如,我想在我的webapp上施加一些负载,并找出在这种负载下它每秒可以保存多少实体,限制在哪里等

3)我想知道某行执行了多少次。我能在不更改代码的情况下完成吗

4)我希望在不更改代码(*)的情况下,在代码执行期间查看表达式的值

5)我不希望在断点中停止应用程序的执行,但仅当某个表达式或变量等于某个值时(例如,如果该变量为null,则停止应用程序)。当然,不需要更改代码

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


共 (1) 个答案

  1. # 1 楼答案

    Is it possible to track the number of exceptions being thrown by application?

    当你抓住它们时,数一数

    Can I write a test that will print me such a number?

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

    Uncaught exceptions stops the execution, so its easy, but what about caught exceptions?

    您是捕获异常的人,因此您必须检查代码以记录此异常。如果它不是你的代码,你不需要担心测试它

    How do I write a test that will tell me the number of activities completed in a second?

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

    I want to know how many times some line is executed. Can I do it without changing the code?

    我们讨论的是单元测试还是其他方法

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

    您可以使用代码覆盖率工具来提供这些信息和报告。e、 g.艾玛报告或想法内置于其中。注意:这不是免费版本内置的

    I want to see the value of expression during the execution of the code without changing the code

    对于表达式和调试接口,可以使用beanshell实现这一点。同样,这比在代码中添加一行要复杂1000倍

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

    I want to stop the execution of my application not in the breakpoint, but only if some expression or variable is equal to some value (for example, stop app if this variable is null). Without changing the code, of course.

    在不更改代码的情况下,无法停止

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

    But when the execution reaches that line second time an old value is cleared. How can I look at expression value in a dynamical way?

    使用手表而不是计算表达式