小编Gre*_*016的帖子

时间:2019-03-17 标签:c#datetime对string单元测试

我正在对日期时间进行单元测试,但它失败了,因为测试名称:

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)

c# datetime

5
推荐指数
2
解决办法
3396
查看次数

对无状态组件与onClick问题做出反应

我有一个无状态组件,我希望能够单击该图像并将其重定向到新页面。我遇到的问题是我无法使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)

reactjs

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

asp.net core 数据库集成测试

我正在尝试在 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)

c# database integration-testing

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

ASP.NET Core 实体框架调用存储过程

我正在使用 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)

c# entity-framework-core asp.net-core

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

使用Reduce获取唯一数字

我正在做一些在线编码挑战,我想知道是否有人有更好的方法为此编写解决方案.

编写一个名为"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)

javascript

0
推荐指数
1
解决办法
54
查看次数