我有一个我用Maven构建的项目,它使用Hibernate(和Spring)从数据库中检索数据等.
我在项目中对DAO的"测试"扩展了Spring,AbstractTransactionalDataSourceSpringContextTests因此可以将DataSource连接到我的测试类中,以便能够实际运行查询/ Hibernate逻辑,获取数据等.
在其他几个项目中,我使用这些类型的测试与HSQL数据库(内存中或指向文件)一起使用,以便能够有效地测试实际的数据库查询逻辑,而无需依赖外部数据库.这很有用,因为它可以避免任何外部依赖关系,并且在运行测试之前数据库的"状态"(每个都包含在回滚的事务中)都已定义良好.
我很好奇关于组织这些测试的最佳方法,这些测试对于Maven来说实际上是一种松散的集成测试.保持这些测试感觉有点脏src/test/java,但从我读过的内容来看,似乎没有一个一致的策略或实践来组织与Maven的集成测试.
从我到目前为止所看到的,似乎我可以使用Failsafe插件(或Surefire的第二个实例)并将其绑定到integration-test阶段,并且我还可以绑定自定义启动或关闭逻辑(例如用于启动/停止HSQL实例)pre-integration-test或post-integration-test.但是,这真的是最好的方法吗?
所以我的问题基本上是 - 用Maven组织这个的普遍接受的最佳做法是什么?我在文档中找不到任何一致的答案.
我想要的是:
test阶段仅运行单元测试pre-integration-test和post-integration-test我前几天在我的代码库中添加了一个Fraction类(第一次,以前从未需要一个,我怀疑我现在做了,但是到底是什么:-)).当在两个分数之间写入加法时,我发现了一个小的优化,但它没有意义(在数学意义上)为什么它是这样的.
为了说明,我将使用分数A和B,分别有效地由An,Bn,Ad和Bd组成分子和分母.
以下是我用于GCD/LCM的两个函数,公式也在维基百科上.它们很简单,可以理解.当然,LCM也可以是(A*B)/ C.
static unsigned int GreatestCommonDivisor(unsigned int A, unsigned int B)
{
return (!B) ? A : GreatestCommonDivisor(B, A % B);
}
static unsigned int LeastCommonMultiple(unsigned int A, unsigned int B)
{
const unsigned int gcDivisor = GreatestCommonDivisor(A, B);
return (A / gcDivisor) * B;
}
Run Code Online (Sandbox Code Playgroud)
首先让我们绕过第一种方法:
least_common_mul = least_common_multiple(Ad, Bd)
new_nominator = An * (least_common_mul / Ad) + Bn * (least_common_mul / Bd)
new_denominator = least_common_mul
Run Code Online (Sandbox Code Playgroud)
瞧,工作,明显,完成.
然后通过我记事本上的一些涂鸦,我遇到了另一个有效的:
greatest_common_div = greatest_common_divisor(Ad, Bd)
den_quot_a = Ad / greatest_common_div …Run Code Online (Sandbox Code Playgroud) 我想要做的很简单:从客户端向服务器发送文件.首先,客户端发送有关文件的信息 - 它的大小.然后它发送实际文件.
这是我到目前为止所做的:
Server.py
from twisted.internet import reactor, protocol
from twisted.protocols.basic import LineReceiver
import pickle
import sys
class Echo(LineReceiver):
def connectionMade(self):
self.factory.clients.append(self)
self.setRawMode()
def connectionLost(self, reason):
self.factory.clients.remove(self)
def lineReceived(self, data):
print "line", data
def rawDataReceived(self, data):
try:
obj = pickle.loads(data)
print obj
except:
print data
#self.transport.write("wa2")
def main():
"""This runs the protocol on port 8000"""
factory = protocol.ServerFactory()
factory.protocol = Echo
factory.clients = []
reactor.listenTCP(8000,factory)
reactor.run()
# this only runs if the module was *not* imported
if __name__ == …Run Code Online (Sandbox Code Playgroud) 有没有人遇到问题让Crystal XI在通过网络显示报告(由RAS提供)然后导出为PDF时嵌入字体?我们在一些报告中使用了条形码字体,它通过Web查看器和导出为PDF时工作正常.当我们将报表服务器从2000个框移动到2003框时,不再导出该字体.它确实在html查看器中正确显示,但是当您将其导出为PDF以进行打印时,PDF不包含该字体.True Type字体安装在新服务器上,具有令人反感的宽松权限,并且字体安装在所有客户端计算机上.有没有办法在某种"调试"模式下启动Crystal,它将发出有关它正在做什么的信息?
(编辑指定仅在通过RAS提供的页面导出为PDF时未嵌入字体时)
我没有开发任何网络应用程序.我正在尝试使用CSS开发iPhone原生应用程序.我很困惑在哪里包含它并使用它.是否在viewDidLoad或applicationDidFinishLaunching中使用它.我真的厌倦了使用相同的UI外观.有谁能够帮我?
谢谢你们.
如何快速获取表的前5行中的文本框的jQuery选择器?我有一个包含许多行和许多文本框的表; 我只是想在表格的前5行中选择文本框.是否有捷径可寻?
对于一个向容器添加内容的方法来说,如果它尚未存在,那么它的名称是什么,即
void AddCustomerToList(CustomerList list, Customer customer)
Run Code Online (Sandbox Code Playgroud)
但是这个名称没有正确表达,如果它已经存在,它就不会被添加.什么是更好的名字?AddCustomerToListIfNotThereAlready?EnsureCustomerInList?
我想了解一些关于Visual Studio 2008的运行时库的信息.最具体的是我何时应该考虑DLL版本以及何时应该考虑静态版本.
Visual Studio文档描述了DLL依赖关系和链接库方面的技术差异.但我想知道为什么我要用一个而不是另一个.更重要的是,为什么我要使用多线程DLL运行时,这显然会迫使我的应用程序进入DLL依赖,而静态运行时对我的应用程序用户机器没有这样的要求.
我想ac#regex来确定一个字符串是否在定义的序列中包含5个以上的字符.
示例:如果序列是字母表,那么'ghijk'将为true,而'lmn'将为false.
编辑:序列需要按顺序排列.从上面的例子'ghijz'将返回false.
几年前,当Vista首次发布时,我问了一个关于这个问题的问题,但从未解决过这个问题,并将其作为后来考虑的问题搁置了.
我有一个闪屏,我努力让自己看起来很棒.它是一个32bpp的alpha混合PNG.我有一些代码(如果需要我可以挖掘!)在Windows XP或Vista +下关闭桌面组合时效果很好.然而,在Vista +下,所有透明部分都是黑色的,破坏了一切看起来很棒的东西!
所以,我的问题是这样的:因为任何人都可以将一个32bpp的alpha混合PNG作为启动画面显示,无论是否激活桌面合成都可以使用?如果需要,我可以免费或以其他方式使用第三方组件.
理想情况下,这适用于Delphi 7.
更新:除了下面的答案,这些工作非常好,我发现TMS TAdvSmoothSplashScreen组件也能很好地处理这个任务,如果有点复杂的话.