在React Native

时间:2015-11-04 20:51:09

标签: react-native

打开react本机UIExplorer示例后,我能够在XCode中使用cmd + u快速运行测试套件。按照文档的说明阅读代码,我在IntegrationTestsApp.js中找到了这段代码:

return (
  <View style={styles.container}>
    <Text style={styles.row}>
      Click on a test to run it in this shell for easier debugging and
      development.  Run all tests in the testing environment with cmd+U in
      Xcode.
    </Text>
    <View style={styles.separator} />
    <ScrollView>
      {TESTS.map((test) => [
        <TouchableOpacity
          onPress={() => this.setState({test})}
          style={styles.row}>
          <Text style={styles.testName}>
            {test.displayName}
          </Text>
        </TouchableOpacity>,
        <View style={styles.separator} />
      ])}
    </ScrollView>
  </View>
);

如何运行测试应用程序,以便我能够手动运行每个测试(&#34;点击每个测试&#34;)?

1 个答案:

答案 0 :(得分:1)

我确实找到了一个解决方案,但在撰写本文时,似乎相当是一个黑客攻击。基本上,我通过以下方式运行IntegrationTestsApp作为主应用程序:

  1. AppDelegate中的rootView更改为:

    RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
    moduleName:@"IntegrationTestsApp" initialProperties:nil];
    
  2. 将sourceURL更改为导出上述模块的文件:

    sourceURL = [NSURL URLWithString:@"http://localhost:8081/Examples/UIExplorer/UIExplorerIntegrationTests/js/IntegrationTestsApp.bundle?platform=ios&dev=true"];
    
  3. 将RCTTest.a链接到&#34;构建阶段&#34;

    同样,我希望得到一个更好的答案,但这* *似乎*可以工作