我正在对日期时间进行单元测试,但它失败了,因为测试名称:
GetDateTime2 结果消息:Assert.AreEqual 失败。预期:<28/05/2017 20:00:00 (System.String)>。实际:<28/05/2017 20:00:00 (System.DateTime)>。
有没有什么方法可以将字符串与日期时间进行比较,我是否必须更改字符串日期和字符串时间的属性?
public void GetDateTime()
{
FootballEvent football = new FootballEvent();
football.Time = "20:00:00";
football.Date = "28/05/2017";
var footballtime = football.GetDateTime();
var expected = "28/05/2017 20:00:00";
Assert.AreEqual(expected, footballtime);
}
Run Code Online (Sandbox Code Playgroud) 我有一个无状态组件,我希望能够单击该图像并将其重定向到新页面。我遇到的问题是我无法使onClick正常工作。我试图在onClick = {this.ProjectSelected}中编写一个函数,但这无法正常工作。我是否必须将功能(onClick)从父组件传递给子组件?如果是这样,我该怎么做?我能够将项目ID记录到控制台。谢谢您的帮助。
const projectListTemplates = (props) => {
const { classes } = props;
return (
<div>
<div className={classes.root}>
<GridList className={classes.gridList}>
<GridListTile key="Subheader" cols={2} style={{ height: 'auto' }}>
<Subheader component="div">Projects</Subheader>
</GridListTile>
{props.data.map(item => (
<GridListTile key={item.image}>
<img src="./images/Project/1.jpg" alt={item.title} />
<GridListTileBar
title={item.title}
subtitle={<span> {item.name}</span>}
onClick={()=>console.log(`this project was clicked ${item.id}`)}
>
</GridListTileBar>
/>
<ProgressBar now={60} />
</GridListTile>
))}
</GridList>
</div>
</div>
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 asp.netcore 项目中设置数据库的集成测试。我使用代码优先的方法来创建数据库。
对于使用 nuget 包 XUnit、FluentAssertions 和 NUnitestApadter3 的测试 iam。当我第一次运行测试时,测试通过了。
[Collection("Integration test collection")]
public class BookServiceTest : IntegrationTestBase
{
[Fact]
public void CanCreateUser()
{
using (var context = GivenBPDContext())
{
var Book = new BookService(context);
Data.Database.Entities.Book book = Book.AddNewBook("test");
context.SaveChanges();
book.Id.Should().NotBe(0);
book.Name.Should().Be("test");
}
}
}
public class IntegrationTestBase
{
protected static BPDContext GivenBPDContext()
{
var context = new BPDContext(new DbContextOptionsBuilder().Options);
return context;
}
// i tried dropping the database here and it do not work
}
Run Code Online (Sandbox Code Playgroud)
一个非常基本的逻辑测试
public class …Run Code Online (Sandbox Code Playgroud) 我正在使用 ASP.NET Core 实体框架,我想调用一个简单的存储过程。
我在迁移中创建了存储过程,如下所示:
public partial class spGetAvailableCourses : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
var sp = @"CREATE PROCEDURE [dbo].[GetAvailableCourses]
AS
BEGIN
SELECT COUNT(courses.Enrolled) FROM Courses WHERE Courses.Capacity > Courses.Enrolled;
END";
migrationBuilder.Sql(sp);
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令调用 SQL Server 中的存储过程。
EXEC dbo.GetAvailableCourses
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在 my 中调用存储过程时ICourseRepository,它不起作用,我返回了负一。
有人可以告诉我调用存储过程的正确性吗?谢谢
public class CourseRepository : ICourseRepository
{
private readonly DataContext _context;
public CourseRepository(DataContext context)
{
_context = context;
}
public Task<CoursesAvailableCount> CoursesAvailableCount()
{
var ss = _context.Database.ExecuteSqlRaw("GetAvailableCourses");
return null;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过
public …Run Code Online (Sandbox Code Playgroud) 我正在做一些在线编码挑战,我想知道是否有人有更好的方法为此编写解决方案.
编写一个名为"unique"的函数,它将从数组中删除所有重复值.
var numbers = [1, 1, 2, 3, 4, 3,9,0,9];
return array.reduce(function(previous, num){
var checkForRepeat = previous.find(function(x){
return x === num;
});
if(checkForRepeat) {
return previous;
} else {
previous.push(num);
return previous;
}
}, []);
}
unique(numbers);
Run Code Online (Sandbox Code Playgroud)