所以这是我的项目:
我正在构建一个中央界面/仪表板,以显示多个产品版本的多种测试类型的测试数据.我们在我们的大型产品上使用TestNG,虽然没有编写足够的测试,但这是另一个主题的讨论.这是目录结构的样子:
文件系统/的ProductVersion + testType/uniqueDateAndBuildID/TestNG的-results.xml
results.xml文件包含带有子测试标记的标记,这些标记对应于文件系统目录,然后是包含实际测试用例结果的xml文件(传递,失败等)XML解析和文件系统遍历都很好,很好/可靠.
控制流程:客户端访问主页面 - >服务器打开属性文件 - >服务器检查Web服务器属性(Websphere或Tomcat,如果我在本地工作) - >服务器根据它设置一堆常量.常量包括:根文件系统目录,文件系统分隔符(转换),"类似类型(基本上在不同平台上的相同测试)",以及要附加到的基本URL. - >然后服务器再读取属性文件并完成所有XML处理.使用ObjectOutputStream将结果缓存在内存中以及文件系统中. - >将大量结果发送回客户端进行UI处理/显示.
这是我遇到问题的地方:我无法访问客户端上的全局变量(在Globals类中包含/设置...我知道错误: - /),即使它们位于共享文件夹中.如果你想知道为什么我不能再次加载属性,那是因为客户端是GWT-ified Javascript,它不包含File().所以我的下一个想法是,做了一点上层Java阅读可能是使用一个Globals单例对象并将其传回去.但是看起来这也是坏的,如果不是不可能的话. 这里的建议会很棒.
这一切都非常紧密,我以前的Java教育还没有真正进入过.由于这只是开发人员检查的内部门户,因此实际测试我的代码似乎没有多大意义.只要它正确显示,正确记录,并优雅地处理错误,对吗?总而言之,这是<15级,所以我猜这不是什么大不了的事.我应该重构清理它并使其成为"更好的Java",评论所有内容以清楚地描述控制流程,或者不要过于担心它因为它很小?我知道将来在设计之前要多考虑一些事情,但我真的不知道自开始以来我接触过的大量Java原则.
在做了一些思考后编辑,想出了一个可能的解决方法.那么,我传回了一些包含全局"标题"对象的其他自定义列表实现,而不是只返回结果列表?我可以保留国家.