iOS SDK 为开发人员提供了访问两个全局变量的权限,这些变量将允许在集成 Core Data 时启用额外的日志语句。
application:DidFinishLaunchingWithOptions:
方法中,包括以下行以开启来自 SMIncrementalStore
的日志语句:SM_CORE_DATA_DEBUG = YES;
。这将提供有关 Core Data 保存和检索期间在后台发生的 StackMob 数据存储调用的信息。默认值为 NO
。<MAX_LOG_LENGTH_REACHED>
。为了进行测试,您必须下载完整的源代码:`git clone [email protected]:stackmob/stackmob-ios-sdk.git`。
Kiwi 规范的运行方式与 OCUnit 测试类似。在 Xcode 中,按 ⌘U
将运行当前选中方案的所有测试。
describe(@"a public method or feature", ^{
beforeEach(^{
//set up
[[someClass stubAndReturn:aResult] aMethod];
});
context(@"when some precondition exists", ^{
beforeEach(^{
//set the precondition
});
it(@"should have a specific behavior", ^{
//verify the behavior
[[aThing shouldNot] equal:someOtherThing];
});
pending(@"should eventually have another behavior", ^{
//pending specs will not execute and generate warnings
[[[anObject should] receive] aMethodWith:anArgument];
[anObject doStuff];
});
context(@"and another condition exists", ^{
//...
});
});
});
单元测试不会向StackMob发出网络请求。该项目包含单独的集成测试目标,以验证与StackMob API的通信。
cp integration\ tests/StackMobCredentials.plist.example integration\ tests/StackMobCredentials.plist
打开integration\ tests/StackMobCredentials.plist
places
的模式。添加一个名为location
的地理点字段,并将所有模式权限设置为公开
。oauth2test
的模式。添加一个名为name
的字符串字段,并将所有模式权限设置为允许任何登录用户
。
默认情况下,自定义代码测试是关闭的。这是因为它们需要您上传特定的自定义代码方法以用于您的应用程序。要测试自定义代码,请执行以下操作
$ git clone [email protected]:stackmob/stackmob-customcode-example.git
。/java/src/main/java/com/stackmob/example/
。/example
文件夹中的内容替换为stackmob-ios-sdk提供的文件。它们可以通过从您本地stackmob-ios-sdk文件夹的根目录导航到/integration tests/CustomCodeFiles
找到。这些文件是EntryPointExtender.java
、HelloWorld.java
和HelloWorldParams.java
。$ mvn clean package
。stackmob.com
仪表板,然后点击左侧侧边栏中的管理自定义代码
。/java/target/
处的.jar
文件。它是唯一的.jar
文件,而不是.one-jar.jar
。您应该从浏览器获得反馈,说明hello_world
和hello_world_params
方法已成功上传 - 它报告了版本和创建日期。Integration Tests
中的文件SMIntegrationTestHelpers.h
。您将看到#define TEST_CUSTOM_CODE 0
。只需将其更改为1
,当您测试“集成测试”方案时,将会运行在SMCusCodeReqIntegrationSpec.m
中找到的自定义代码测试。git checkout -b make_sdk_better development
。git merge development
(如果您更喜欢本地分支,请使用git rebase development
)。git push origin make_sdk_better
。development
分支。