当前位置: 首页 > 面试题库 >

如何确定代码是否在JUnit测试中运行?

秦晋
2023-03-14
问题内容

在我的代码中,仅当它在JUnit测试中运行时,才需要进行某些修复。如何确定代码是否在JUnit测试中运行?是否有类似JUnit.isRunning()==
true的东西?


问题答案:

如果您要以编程方式确定要运行哪个“配置文件”,则可能是一个好主意。考虑使用Spring
Profiles进行配置。在集成测试中,您可能需要针对其他数据库进行测试。

这是经过测试的有效代码

public static boolean isJUnitTest() {
    StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
    List<StackTraceElement> list = Arrays.asList(stackTrace);
    for (StackTraceElement element : list) {
        if (element.getClassName().startsWith("org.junit.")) {
            return true;
        }           
    }
    return false;
}


 类似资料:
  • 我不知道如何为这个程序编写JUnit测试。请帮忙。问题是 假设用户的个人识别码是“1234”,编写一个程序,向用户索要个人识别码不超过三次,并执行以下操作:如果用户输入正确的号码,打印一条消息说“您的个人识别码是正确的”,并结束程序... 如果用户输入了错误的号码,请打印一条消息,说明“您的PIN不正确”,如果您请求PIN的次数少于三次,请再次请求。如果用户三次输入错误的号码,请打印一条消息,说明

  • 问题内容: 如何检测代码是否在Eclipse IDE中运行 问题答案: 我不知道获取此类信息的通用方法。 一个建议: 当您在Tomcat中启动Java程序(或Web服务器)时,只需添加一个参数即可表明该程序是由Eclipse启动的。 您可以通过打开“打开运行对话框”(“运行”菜单),然后选择您的应用程序类型并在“参数”选项卡中添加a来实现。 在您的Java代码中,您可以检查属性的值: 这样,如果程

  • 问题内容: 在eclipse中,使用JUnit 4,您可以右键单击项目或包,然后单击“以JUnit Test身份运行”,它将运行该组中的所有JUnit测试。有没有办法在代码中执行相同的操作? 问题答案: 您可以在junit中使用诸如JUnitCore之类的软件包,如下所示:

  • 我不知道如何为这个程序编写Junit测试。请帮忙。问题是 假设用户的PIN为“1234”,编写一个程序,要求用户输入PIN不超过三次,并执行以下操作:如果用户输入的号码正确,则打印一条消息,说明“您的PIN正确”,然后结束程序。 如果用户输入了错误的号码,请打印一条消息,说明“您的PIN不正确”,如果您请求PIN的次数少于三次,请再次请求。如果用户三次输入错误的号码,请打印一条消息,说明“您的银行

  • 我有一个包含两个方法的类,每个方法都有一个try-catch块来查找任何异常。 代码如下: 我提出了一个测试用例,使用Mokito来测试上述场景,但不知道如何进入上述的catch块 我试图提出一个NullPointerException,但catch块仍然没有出现在CodeOverage中(我假设它没有经过测试)。请帮我写一个Junit测试用例来输入异常。我对所有这些话题都很陌生。

  • 我希望测试类知道它们当前是否在套件中执行。我有一个测试套件,它使用外部资源(ExternalResource)在所有测试之前启动服务器,在所有测试之后关闭服务器。效果完美。在编写新测试时,我希望运行一个测试(或全部来自同一个测试类)来启动和停止服务器。所以我想让这些类知道它们当前是否在套件中执行,并相应地启动服务器。这似乎是不可能的。套件描述似乎永远不会传递给规则或类规则。我也无法获得运行当前测试