我正在使用 Typescript 和 hooks 开发 React 应用程序,并且我正在尝试使用 Enzyme 和 Jest 来测试功能组件。我无法使用 jest.spyOn 来测试组件中的方法。jest.spyOn 方法无法正确解析并在悬停时显示以下消息
“类型''validateBeforeSave”' 的参数不能分配给类型''context' | “setState” | “forceUpdate” | “render” | “componentDidMount” | “shouldComponentUpdate” | “componentWillUnmount” | “componentDidCatch” | “ getSnapshotBeforeUpdate" | ... 还有 6 个 ... | "UNSAFE_componentWillUpdate"'.ts(2345)"
我试图将实例转换为“任何”-
const instance = wrapper.instance() as any;
Run Code Online (Sandbox Code Playgroud)
这当然在编译时忽略了这个问题,但随后测试会抛出一个运行时错误,该函数在组件上不存在。
无法监视 validateBeforeSave 属性,因为它不是函数;给出未定义
// Some function Component
const SomeComponent = (props: IMyComponentProps) => {
const { classes } = props;
// Component has state
const [count, setCount] = useState(0);
function validateBeforeSave(){ …Run Code Online (Sandbox Code Playgroud) 我有三个模型课
public class Item1{
public int Id;
public List<Item2> Item2List { get; set; }
}
public class Item2{
public int Id;
//this is the FK
public int Item1Id {get;set;}
public Item1 Item1 {get;set;}
//Not in db. Ignored field in EntityTypeConfiguration
public int Item3Count;
public List<Item3> Item3List { get; set; }
}
public class Item3{
public int Id;
//this is the FK
public int Item2Id {get;set;}
public Item2 Item2 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想返回Item1的列表以及关联的Item2的列表,并加载与Item 2关联的Item3List的COUNT而不加载Item3List。
这是我现在正在做的事情:
public IEnumerable<Item1> GetItems()
{
return base.Query().Include(item1 => …Run Code Online (Sandbox Code Playgroud) 最近我一直在研究 AWS Lambdas 以及如何使用 .Net Core 构建无服务器 API。据我了解,您可以通过两种不同的方式来做到这一点。
1) 在 C# 中编写多个单独的 Lambda 并将它们部署到 AWS。请求通过 API 网关传入,每个 lambda 充当端点。
2) 使用 .Net 核心构建无服务器 Web API。当您创建无服务器 Web API 项目时,会自动创建一个 Lambda,它成为 Web API 的入口点。
1 对 2 是否有任何限制,或者一种方法可能优于其他方法的用例?或者它只是实现同一件事的两种不同方式?
.net ×1
aws-lambda ×1
c# ×1
enzyme ×1
jestjs ×1
reactjs ×1
serverless ×1
ts-jest ×1
typescript ×1