谢谢大家的帮助。你们中的许多人发布了(正如我应该预料的那样)的答案,表明我的整个方法是错误的,或者低级代码永远不必知道它是否在容器中运行。我倾向于同意。但是,我正在处理一个复杂的遗留应用程序,无法针对当前问题进行重大重构。让我退后一步,提出我最初问题的动机。我有一个在JBoss下运行的遗留应用程序,并对较低级别的代码进行了一些修改。我为我的修改创建了一个单元测试。为了运行测试,我需要连接到数据库。遗留代码以这种方式获取数据源:(jndiName是定义的字符串)Contextctx=newInitialContext();DataSourcedataSource=(DataSource)