我正在尝试使用XCode 3.2.3为iPhone应用程序设置单元测试.
我按照http://developer.apple.com/iphone/library/documentation/xcode/conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html中的步骤进行操作.
尽我所能,但我在尝试构建时收到此错误消息:"((yourApplicationDelegate)!= nil)"应该是真的.UIApplication未能找到AppDelegate
(这是USE APPLICATION UNIT TEST的默认琐碎测试是真的)
我正在构建我的应用测试目标,如文档中所述,并得到此错误.
我是否需要确保我的所有非测试用例源都在我的测试包中?
困惑
-
我将源文件包含到我的项目中并且编译得很好,但它仍然遇到相同的单元测试错误:
"((yourApplicationDelegate)!= nil)"应该是真的.UIApplication未能找到AppDelegate
原始代码与模板代码相同:
-(void) testAppDelegate {
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");
}
Run Code Online (Sandbox Code Playgroud) 如果已经有实例运行,我的应用程序在加载时需要表现得略有不同.
我理解如何使用互斥锁来防止其他实例加载,但这并不能解决我的问题.
例如:
有任何想法吗?值得庆幸的是,它不需要处理多个用户帐户或类似的东西.
(C#,桌面应用程序)
编辑:为了澄清,应用程序不需要限制为单个实例,只需执行一个稍微不同的启动操作,如果还有另一个实例已经运行.多个实例都很好(并且是预期的).
我正在使用黄瓜,rails3,rspec2和自动测试.我试图找出为什么我的功能无限循环.我怀疑在测试过程中有些文件正在被更改,但我不确定是哪一个.我添加了一些例外.autotest,没有骰子.
我可以采取任何措施来解决此问题吗?
如果我能看到哪些文件正在触发重新运行,或者在运行时看到正在观看/未观看的文件,那就太酷了.
这是我的.autotest内容
require 'autotest/growl'
Autotest::Growl::clear_terminal = false
# Skip some paths
Autotest.add_hook :initialize do |autotest|
%w{.git .DS_store db log tmp rerun.txt}.each { |e| autotest.add_exception(e) }
end
Run Code Online (Sandbox Code Playgroud) 在你开始指向重复之前,我只知道我已经阅读了关于扩展方法的几乎所有关于SO的帖子.我只是想在一分钟内扮演魔鬼的拥护者,考虑替代我的工作意见.
最近我正在研究一个项目,并且需要一种方法作为接口的基础.所以我建议我们写一个扩展方法,它被击落了.说它增加了复杂性并且更难调试.
我当然争论并找到了所有精彩的帖子,这些帖子显示了使用扩展方法的许多原因.不要忘记很多.net框架都使用它们.我们最终没有使用它,因为我被团队推翻了.
但是它让我思考,是否有时候可以使用扩展方法但不应该使用?
我真的想不出任何想法,但我想在这里发帖,看看是否有人能想到为什么不应该使用它们的任何其他原因.
给定元素:
<comments> comments
go here
</comments>
Run Code Online (Sandbox Code Playgroud)
如何删除多个前导空格字符.我不能使用规范化空间,因为我需要保留换行符等.XSLT 2.0好的.
说我有以下方法:
public static void MyCoolMethod(params object[] allObjects)
{
}
public static void MyCoolMethod(object oneAlone, params object[] restOfTheObjects)
{
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
MyCoolMethod("Hi", "test");
Run Code Online (Sandbox Code Playgroud)
哪一个被调用,为什么?
我正在为我的库创建一个日志记录工具,并制作了一些不错的宏,例如:
#define DEBUG myDebuggingClass(__FILE__, __FUNCTION__, __LINE__)
#define WARING myWarningClass(__FILE__, __FUNCTION__, __LINE__)
Run Code Online (Sandbox Code Playgroud)
其中 myDebuggingClass 和 myWarningClass 都有一个重载的 << 运算符,并对日志消息做一些有用的事情。
现在,我有一些用户将重载的基类称为“Widget”,我想将这些定义更改为更类似的内容:
#define DEBUG myDebuggingClass(__FILE__, __FUNCTION__, __LINE__, this)
#define WARNING myWarningClass(__FILE__, __FUNCTION__, __LINE__, this)
Run Code Online (Sandbox Code Playgroud)
这样当用户调用 'DEBUG << "Some Message"; ' 我可以检查“这个”参数是否动态转换到小部件,如果是,我可以用这些信息做一些有用的事情,如果没有,我可以忽略它。唯一的问题是我希望用户也能够从非成员函数(例如 main())发出 DEBUG 和 WARNING 消息。然而,给定这个简单的宏,用户只会得到一个编译错误,因为“this”不会在类成员函数之外定义。
最简单的解决方案是定义单独的 WIDGET_DEBUG、WIDGET_WARNING、PLAIN_DEBUG 和 PLAIN_WARNING 宏并向用户记录差异,但如果有办法解决这个问题,那就太酷了。有没有人看到做这种事情的任何技巧?
我正在写一个小应用程序,将一些贴纸打印到特殊的打印机上.
当我使用MS Word将一些文本打印到该打印机(以及XPS文件)时,结果看起来很棒.当我使用Graphics对象从C#代码打印时,文本显示为过像素化或过度平滑.
我尝试了以下提示,但没有一个产生与MS Word相同的结果:
System.Drawing.Drawing2D.SmoothingMode.AntiAlias
System.Drawing.Text.TextRenderingHint.AntiAliasGridFit
System.Drawing.Text.TextRenderingHint.AntiAlias
System.Drawing.Text.TextRenderingHint.ClearTypeGridFit
InterpolationMode.NearestNeighbor
CompositingQuality.HighQuality
Run Code Online (Sandbox Code Playgroud)
还有一些.
你能建议MS Word应用哪些提示,所以我可以用编程方式创建它吗?
我正在使用AQGridView构建一个iPad应用程序,它包含一个灵活的网格,就像在Apple iBooks应用程序或Marvel和DC漫画应用程序中找到的那样.我的问题是有没有人使用AQGridView,可以帮助我了解如何进行网格单元选择.它应该只是创建一个UITableView的子类,但我似乎无法找到正确的单元格选择方法.
任何帮助将不胜感激.
谢谢,
L.