我正在尝试进行单元测试,但有一件事困扰着我.
我有一个php类,我想进行单元测试.它需要一些参数,然后吐出HTML.问题是主要功能是计算一些值和条件,这些我想测试.但我把它放在一个私有方法中,因为通常情况下,没有人需要知道这个方法.但是这样我就无法对该类进行单元测试,因为我无法测试该方法的结果.
我找到了关于这个主题的这篇文章.本文的结论是使用反射来测试私有方法.
你如何反对这个话题?
由于会话对象,我的所有multpile选项卡浏览器都有问题.我要求每当用户打开新浏览器时我需要显示不同的值,所以我想在IE 6中使用Session,每个浏览器都会创建一个新会话.但所有其他多个选项卡浏览器IE 7和IE 8和FF共享会话(如果用户已经打开浏览器并尝试打开不同的broswer).有人可以告诉我如何在用户打开新的浏览器窗口时创建新会话.我的应用程序基本上是在ASP.NET和服务器端我们有VB.NET.
.net firefox cross-browser internet-explorer-8 internet-explorer-7
我们想使用Confluence来编写和管理我们的测试用例.Confluence Testplan插件似乎接近我正在寻找的,但它有点过于简单和有限.
您是如何使用Confluence来管理测试用例的?
在编程语言概念中,
Sebesta的书指出(第九版,284):
固定堆动态数组的缺点是它们需要更长的时间从堆栈分配数组.
我们怎样才能分析这个陈述?固定堆动态和堆动态数组之间有什么区别.这个固定词代表什么?
我不确定它是否完全适合 stackoverflow,但是由于我正在寻找一些代码而不是工具,我认为它确实适合。
我正在寻找一种如何复制/同步不同数据库系统的方法——在本例中:mysql 和 mongodb。我们出于不同的目的而运行两者。我们从 mysql 数据库开始,后来为特殊应用添加了 mongodb。我们希望在两个数据库中都有数据,我们希望分别在 mysql 和 mongodb 中的 dbrefs 中都有约束。例如:我们需要 mysql 中的用户记录,但也需要 mongodb 中的表对象之间的引用。目前我们有一个 cronjob,它转储 mysql 数据并将其导入到 mongodb 中。然而,尽管它工作得很好,但这不是我们想要的解决方案。
我认为目前单向复制就足够了——mysql->mongodb,重要的是,复制是“实时”工作的,就像mysql主->从复制工作一样。
是否已经有针对此问题的解决方案或任何人关于如何实现此目标的想法?
谢谢!
我有一个MS SQL Server表,记录我们工厂的报警事件,每个报警都有一行,而日期时间列则记录报警发生的时间.
我们以12小时轮班(早上6点到下午6点,下午6点到早上6点)运行我们的工厂.我需要弄清楚我们每次换班的警报数量.如何对结果进行分组以获得该结果?
原始表看起来像这样:
DateTime Alarm Name
2010-01-05 14:32:22 Overpressure
2010-01-05 21:32:59 Underspeed
2010-01-06 05:58:13 Underspeed
2010-01-06 06:02:46 Machine Current Fault
Run Code Online (Sandbox Code Playgroud)
我们需要将结果分组如下:
Date Shift Count
2010-01-05 Day 1
2010-01-05 Night 2
2010-01-06 Day 1
Run Code Online (Sandbox Code Playgroud)
请注意,如果在1月5日下午6点到1月6日上午6点之间发生警报,则从1月5日开始计算夜班.
有什么建议?
我已经在SO上阅读了有关外部/内部联系的现有问题.我的问题是不同的-如果我的情况下有不同的翻译单元外部链接的同一个变量的多个定义会发生什么C和C++?
例如:
/*file1.c*/
typedef struct foo {
int a;
int b;
int c;
} foo;
foo xyz;
/*file2.c*/
typedef struct abc {
double x;
} foo;
foo xyz;
Run Code Online (Sandbox Code Playgroud)
使用Dev-C++和C程序,上述程序可以完美地编译和链接; 如果将其编译为C++程序,则会产生多重重定义错误.为什么它应该在C下工作?与C++有什么区别?此行为是否未定义且依赖于编译器?这段代码有多"糟糕",如果我想重构它,我该怎么办(我遇到过很多像这样编写的旧代码)?
我正在使用iPhone SDK和Objective-C,我收到此错误消息:
断言失败 - [UITableView _endCellAnimationsWithContext:],/ SourceCache/UIKit/UIKit-984.38/UITableView.m:774 2010-01-08 13:24:16.842 MyAPP [628:20b]由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效更新:第1节中的行数无效.更新后的现有部分中包含的行数(1)必须等于更新前的该部分中包含的行数(0),或者减去从该部分插入或删除的行数(0已插入,0已删除).
这是扩展部分的代码:
- (void)checkAction:(id)sender
{
//The button is added as subview on a view and the view is section header custom view
UIButton *Button = (UIButton*)sender;
NSLog(@"Button Tag=%d",Button.tag);
if([[self.MySectionIndexArray objectAtIndex:Button.tag] isEqualToString:@"UP"])
{
[self.MySectionIndexArray replaceObjectAtIndex:Button.tag withObject:@"DOWN"];
[ButtonDrop setBackgroundImage:[UIImage imageNamed:@"Up.png"] forState:UIControlStateNormal];
[TableDashBoard reloadSections:[NSIndexSet indexSetWithIndex:Button.tag] withRowAnimation:UITableViewRowAnimationFade];
}
else
{
[self.MySectionIndexArray replaceObjectAtIndex:Button.tag withObject:@"UP"];
[ButtonDrop setBackgroundImage:[UIImage imageNamed:@"Down.png"] forState:UIControlStateNormal];
}
NSLog(@"self.MySectionIndexArray ka title = %@ at index Number=%d",self.MySectionIndexArray,Button.tag);
}
Run Code Online (Sandbox Code Playgroud) 我的存储库有List<Student>,List<Course>并且List<Enrolment>注册有Enrolment.Student和Enrolment.Course,它们是前两个列表中的学生或课程之一.
当我在我的存储库中使用XmlSerializer时,它会输出冗余数据,因为它会对每个学生的所有属性进行序列化,List<Student>然后再对每个对这些学生的参考进行序列化List<Enrolment>.我正在寻找一种优雅的方法来解决这个问题.
反序列化后,我可以使用反序列化创建的重复对象实例中的ID值来修复引用,但这似乎是hackish.
修复冗余输出的一种方法是XmlIgnore Enrolment.Student和Enrolment.Course,并为序列化创建另外两个属性 - Enrolment.StudentID和Enrolment.CourseID.但是,在反序列化期间,由于反序列化的结果List<Student>和List<Course>不可用,因此无法设置Enrolment.Student和Enrolment.Course的引用(AFAIK).
我想到的另一种方法是在我的对象层次结构中向下排序,分别执行每个列表并控制反序列化的顺序 - 我宁愿不这样做.
另一种方法是XmlIgnore List<Enrolment>并创建一个注册序列化助手类,List<Enrolment>在其自身的反序列化完成后进行初始化.这似乎付出了很多努力.
其他人如何使用XmlSerializer序列化/反序列化对同一对象的多个引用?
我想向需要身份验证的服务器生成POST请求.我试着使用以下方法:
private synchronized String CreateNewProductPOST (String urlString, String encodedString, String title, String content, Double price, String tags) {
String data = "product[title]=" + URLEncoder.encode(title) +
"&product[content]=" + URLEncoder.encode(content) +
"&product[price]=" + URLEncoder.encode(price.toString()) +
"&tags=" + tags;
try {
URL url = new URL(urlString);
URLConnection conn;
conn = url.openConnection();
conn.setRequestProperty ("Authorization", "Basic " + encodedString);
conn.setDoOutput(true);
conn.setDoInput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != …Run Code Online (Sandbox Code Playgroud) .net ×2
c ×1
c++ ×1
confluence ×1
datetime ×1
firefox ×1
group-by ×1
java ×1
mongodb ×1
mysql ×1
objective-c ×1
php ×1
post ×1
replication ×1
sql-server ×1
testing ×1
uitableview ×1
unit-testing ×1
xml ×1