Nunit + moq тестирование asp.net core подходы, как правильно

Всем привет. Прошу меня простить, не могу понять. Нашёл на оф сайте руководство по .net и это не помогает совсем. Прошу помогите понять. Все говорят, что тесты это просто, но необходимо их понять. Помогите понять на примере. Какие nuget package я должен установить кроме NUnit, Moq? Как протестировать данный Repository:

public class AlbumRepository : IRepository<Album, int>
{
    private readonly MusicCatalogContext _context;

    public AlbumRepository(MusicCatalogContext context)
    {
        _context = context;
    }

    public async Task<Album> Get(int id)
    {
        var album = await _context.Albums
            .Include(x => x.Songs)
            .AsNoTracking()
            .FirstOrDefaultAsync(x => x.Id == id);

        return album;
    }

    public async Task<IEnumerable<Album>> GetAll()
    {
        var albums = await _context.Albums
            .Include(x => x.Songs)
            .AsNoTracking()
            .ToListAsync();

        return albums;
    }

    public async Task Insert(Album item)
    {
        _context.Add(item);

        await _context.SaveChangesAsync();
    }

    public async Task Remove(Album album)
    {
        _context.Albums.Remove(album);

        await _context.SaveChangesAsync();
    }

    public async Task Update(Album item)
    {
        _context.Albums.Update(item);

        await _context.SaveChangesAsync();
    }

    public async Task Save()
    {
        await _context.SaveChangesAsync();
    }
}

Ответы (0 шт):