我有生产代码和测试代码。我想知道生产代码是否在单元测试中运行。确定代码是否从单元测试运行的编程方法
-1
A
回答
2
使用Java堆栈跟踪:
Thread.currentThread().getStackTrace()
这将返回的StackTraceElements您可以检查数组。例如,对于您的生产代码,最后一个元素应该是具有Java主方法的类。而在单元测试中,你最终应该选择一个测试跑步者的班级。
例如在Eclipse中运行JUnit导致这最后StackTraceElement
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
1
我假设您需要某种方式从生产代码中判断是否从单元测试中调用它。
我心里有2点可能的办法:
假设代码在单个线程上运行,使用ThreadLocal。
使用system property(例如System.setProperty(“testMode”,“ON”))。
无论如何,我同意Jack Maney的评论。在将灰尘添加到生产代码之前重新考虑这一点。
相关问题
- 1. 确定代码是否在Silverlight中运行的编程方法?
- 2. 单元测试库如何确定是否运行装饰方法?
- 3. 是否有编程运行Visual Studio单元测试的API?
- 4. 是否包含运行单元测试?
- 5. 单元测试:以编程方式运行仅在实际应用程序实例中运行的代码
- 6. 正确的方法来编写Angular的代码以允许单元测试
- 7. 测试Java代码是否在applet中运行的最佳方法是什么?
- 8. 编写代码,这是很难进行单元测试
- 9. 单元测试/集成测试GXT代码的最佳方法是什么?
- 10. 方法从头进行单元测试和集成测试的未经测试的代码
- 11. 是否可以从NetBeans运行grails单一grails单元测试课程?
- 12. 在单元测试中确定是否Jetbrains IntelliJ IDEA 8或9正在运行
- 13. 测试单元测试是否存在保存方法
- 14. 单元测试最简单的方法Python的C代码
- 15. 远程运行编码的UI测试
- 16. 使用单元测试从源类执行特定的方法
- 17. 如何确定.NET代码是否在ASP.NET进程中运行?
- 18. 是否可以从主要方法运行NUnit测试
- 19. 是否可以调试在Visual Studio 2010中进行单元测试的代码?
- 20. 是否有可能使用基于Python的单元测试框架和运行器来测试C代码
- 21. 单元测试ASP.NET代码
- 22. 如何以编程方式确定ehcache是否正在运行?
- 23. 以编程方式确定IIS站点是否正在运行
- 24. 从Visual Studio运行测试代理的单元测试:登录尝试失败
- 25. 从代码运行测试与ARG
- 26. 下面的代码是否值得单元测试?
- 27. 是否有TSQL sproc单元测试的代码覆盖工具?
- 28. 在运行时检测产品代码或测试代码是否在Swift中
- 29. 检测Windows是否运行ruby的正确方法是什么?
- 30. Xcode 4.2,无法运行单元测试
我不知道你在问什么。 – djechlin 2013-04-04 19:09:24
你应该退后一步,真正想想为什么你认为你需要这个。单元测试的其中一点是,你正在检查代码的一小部分**,就像它在生产**一样。 – 2013-04-04 19:15:49