小编Tsu*_*ury的帖子

使用Jest在React-Native中测试组件行为(单击)

假设我有这个组件:

import React, { Component } from 'react';
import { Text, TouchableWithoutFeedback, View } from 'react-native';

class MyComp extends Component {
  onRowPress() {
    this.myCoolFunction();
  }

  myCoolFunction() { 
    console.log('hi'); 
  }

  render() {
    return (
      <TouchableWithoutFeedback onPress={this.onRowPress.bind(this)}>
        <View>
          <Text>Hello World</Text>
        </View>
      </TouchableWithoutFeedback>
    );
  }
}

export default MyComp;
Run Code Online (Sandbox Code Playgroud)

如何模拟1点击'TouchableWithoutFeedback'并确保'myCoolFunction'被正确调用1次?

如果它不是必须的,那么我宁愿不添加除'react-dom'和'react-addons-test-utils'之外的更多依赖项.

我看到很多指南声称这个和那个,但我担心它们已经过时了,我想确定我不会经历一些不必要的变通办法并使我的代码膨胀.

我在他们的最新版本中有jest/react/react原生.

编辑:在Jest的官方文档中,它说DOM测试可以使用Enzyme或TestUtils完成.如何使用TestUtils完成此操作?

testing reactjs jestjs react-native

9
推荐指数
1
解决办法
1297
查看次数

C++重构 - 将方法移动到实现文件

我有很多带有长方法实现的头文件.

有自动方式吗?

一个接一个可能需要花费很多时间......

谢谢.

c++ refactoring automated-refactoring

6
推荐指数
1
解决办法
1495
查看次数

dlsym() 返回“未找到符号”

我使用 OS X 10.7 (Lion)、XCode 4.6.3 和 libstdc++ 作为 C++ 标准库。

我的主项目中有这段代码:

共享.cpp:

extern "C" int sharedFun()
{
    return 5;
}
Run Code Online (Sandbox Code Playgroud)

在我的副项目中,需要动态加载主项目:

加载器.cpp:

#include <dlfcn.h>

int main(int argc, const char * argv[])
{
    void* mainApp = dlopen("mainApp.dylib", RTLD_LAZY);

    char* error;
    dlsym(mainApp, "sharedFun");

    if ((error = dlerror()) != nullptr)
    {
         ....
    }
}
Run Code Online (Sandbox Code Playgroud)

纳米输出:

nm -gU mainApp.dylib | grep sharedFun
002a3a10 - 01 0000   FUN _sharedFun
002a3a10 T _sharedFun
Run Code Online (Sandbox Code Playgroud)

dlopen 加载库很好,但 dlsym 返回“符号未找到”。有任何想法吗?

谢谢。

c++ macos xcode dynamic-loading dlsym

5
推荐指数
0
解决办法
4382
查看次数

如何在C#中替换部分字符串?

假设我有以下字符串:

string str = "<tag>text</tag>";
Run Code Online (Sandbox Code Playgroud)

我想将'tag'更改为'newTag',结果将是:

"<newTag>text</newTag>"
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

我试图搜索<[/]*tag>,但后来我不知道如何在我的结果中保留可选的[/] ...

c# regex

4
推荐指数
1
解决办法
2万
查看次数

仅当没有 Exception 的映射时,才会调用 @ExceptionHandler for Error

使用 spring-web-4.2.6,我有以下控制器和异常处理程序:

@ControllerAdvice
public class ExceptionsHandler {
    @ExceptionHandler(Exception.class)
    public ResponseEntity<ErrorDTO> HandleDefaultException(Exception ex) {
    ...
    }

    @ExceptionHandler(InternalError.class)
    public ResponseEntity<ErrorDTO> HandleInternalError(InternalError ex) {
    ...
    }
}

@RestController
@RequestMapping("/myController")
public class MyController {
    @RequestMapping(value = "/myAction", method = RequestMethod.POST)
    public boolean myAction() {
        throw new InternalError("");
    }
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,会调用 ExceptionsHandler 的 HandleDefaultException(对于 Exception.class)方法,而不是 HandleInternalError 调用,但异常类型为 NestedServletException。

删除默认调用时,将使用正确的 InternalError 异常调用 IntenalError 调用。

我不想删除默认调用,因为有一个默认处理程序可以为我的用户提供更好的体验,这对我来说很重要。

我在这里缺少什么?

编辑:

显然我正在使用 spring-web-4.3.3,而不需要它。我不明白为什么,这是我的 Gradle 依赖关系树: http: //pastebin.com/h6KXSyp2

java spring exception spring-mvc

3
推荐指数
1
解决办法
4530
查看次数