我是jMock的新手,所以我试着用一个简单的例子.但我无法弄清楚为什么它不起作用.这是我正在测试的课程:
package com.application;
import com.domain.Coordinate;
import com.domain.Playable;
public class ChessFacade {
private final Playable board;
public ChessFacade(Playable aBoard) {
board = aBoard;
}
public void showPotentialMoves(Coordinate aCoordinate) {
board.getTileOccupancy(aCoordinate);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的Mock对象测试:
package unit.application;
import application.ChessFacade;
import com.domain.Coordinate;
import com.domain.Playable;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JMock;
import org.jmock.integration.junit4.JUnit4Mockery;
import org.junit.runner.RunWith;
@RunWith(JMock.class)
public class ChessFacadeTest extends TestCase {
public void testFacadeGetsPotentialMovesFromBoard() {
Mockery context = new JUnit4Mockery();
final Playable mockBoard = context.mock(Playable.class);
ChessFacade facade = new ChessFacade(mockBoard);
final Coordinate …Run Code Online (Sandbox Code Playgroud) 我需要创建一个简单的应用程序,但速度在这里非常重要.应用程序非常简单.
它将通过将它们保存到文本文件来生成所有可用的字符.用户将输入将用于生成的长度,因此应用程序将使用循环内部的递归函数.
在这个问题上,C会比C++更快,还是没关系?
速度非常重要,因为如果我的应用程序需要生成/保存到文件1000万+单词.
我正在寻找一个访问facebook的c ++(或C)库.我发现有些图书馆做了一些事情,但他们没有接缝完成.
那么,访问facebook的最完整的c ++库是什么?
编辑
到目前为止找到:1)C++ Facebook REST客户端 2)facebook-cpp-graph-api
我写了一些单元测试,这取决于配置文件.这file.config将部署到bin\Debug我的测试项目的目录中.但是,它似乎没有被复制到测试实际发生的输出测试结果目录中.
我搜索并发现了这些:
TFS UnitTesting在构建服务器测试项目和配置文件时没有部署本地副本程序集来测试目录
第一个链接让我了解如何将配置文件部署到我的测试项目bin\Debug目录中.
第二个提出了一个可行的解决方案,虽然我发现它对我的需求有点过分,更不用说我自己添加了一个类来测试等等.所以,我更喜欢一种更简单的方法,它可以让我拥有这个配置文件自动复制到我的测试结果目录中.
编辑#1
我正在使用:
我的配置文件如下所示:
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<dataConfiguration defaultDatabase="Tests" />
<connectionStrings>
<add name="Tests" connectionString="Database=Tests;Server=(local)\SQLEXPRESS;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
并命名为:Tests.config.
现在,我的项目设置包含一个DefaultSource参数,该参数包含默认的源名称,即为其创建连接和数据库对象的参数.此设置的值为Tests.
所以,当我创建一个新连接时,我只是这样做:
public static IDbConnection CreateConnection(string source) {
return new DatabaseProviderFactory(new FileConfigurationSource(
string.Format("{0}\{1}.config", AppDomain.CurrentDomain.BaseDirectory, source)
).CreateDefault().CreateConnection();
}
Run Code Online (Sandbox Code Playgroud)
现在,由于AppDomain.CurrentDomain.Basedirectory返回的值,在单元测试时这是不能正常工作的.由于此属性不会返回程序集构建目录 …
我的程序是用dietlibc静态编译的.它是在ubuntu x64上编译的(使用-m32标志为x86编译),并在centos x86上运行.
编译后的大小只有大约100KB.我用-ggdb3编译它,没有优化标志.
我的程序使用signal.h来处理SIGSEGV信号,然后调用abort().
程序运行好几天但有时会出现段错误.这是我得到奇怪的回溯,我不明白:
username@ubuntu:~/Desktop$ gdb -c core.28569 program-name GNU gdb (GDB) 7.2 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-linux-gnu --target=i386-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from program-name...done. [New Thread …
我有一个抽象类,抽象方法draw(Graphics2D g2),方法print(),showPreview(),printPDF().对于我的Java程序中的每个文档,我实现了draw(),因此我可以打印,显示预览并为每个文档创建一个PDF文件.我的问题是如何使用该Graphics对象创建包含多个页面的PDF.我通过为每个页面创建PDF文件来解决它,然后将文件合并到一个新文件中.但必须有更好的方法.我有以下代码用一页创建PDF:
public void printPDF1(){
JFileChooser dialog = new JFileChooser();
String filePath = "";
int dialogResult = dialog.showSaveDialog(null);
if (dialogResult==JFileChooser.APPROVE_OPTION){
filePath = dialog.getSelectedFile().getPath();
}
else return;
try {
Document document = new Document(new Rectangle(_pageWidth, _pageHeight));
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(filePath));
document.open();
PdfContentByte cb = writer.getDirectContent();
g2 = cb.createGraphics(_pageWidth, _height);
g2.translate(0, (_numberOfPages - _pageNumber) * _pageHeight);
draw(g2);
g2.dispose();
document.close();
}
catch (Exception e2) {
System.out.println(e2.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud) 目前我在每个页面上都有<meta http-equiv="content-type" content="text/html; charset=UTF-8" />.人们是否仍然包含关键字,描述和作者等元标记?如果是这样,他们应该在每个HTML页面上还是只在主页上?
我正在使用一个ADO .Net Entity Model查询MySQL数据库.我对它的实现和使用感到非常高兴.我决定看看如果我查询了100万条记录会发生什么,并且它有严重的性能问题,我不明白为什么.
系统挂起一段时间,然后我得到
我的代码如下::
try
{
// works very fast
var data = from employees in dataContext.employee_table
.Include("employee_type")
.Include("employee_status")
orderby employees.EMPLOYEE_ID descending
select employees;
// This hangs the system and causes some deadlock exception
IList<employee_table> result = data.ToList<employee_table>();
return result;
}
catch (Exception ex)
{
throw new MyException("Error in fetching all employees", ex);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么ToList()花了这么长时间?
另外,如何避免此异常以及查询百万条记录的理想方式是什么?