Reo.Core.Xunit.IntegrationTesting 8.0.104

dotnet add package Reo.Core.Xunit.IntegrationTesting --version 8.0.104                
NuGet\Install-Package Reo.Core.Xunit.IntegrationTesting -Version 8.0.104                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.Xunit.IntegrationTesting" Version="8.0.104" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Reo.Core.Xunit.IntegrationTesting --version 8.0.104                
#r "nuget: Reo.Core.Xunit.IntegrationTesting, 8.0.104"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Reo.Core.Xunit.IntegrationTesting as a Cake Addin
#addin nuget:?package=Reo.Core.Xunit.IntegrationTesting&version=8.0.104

// Install Reo.Core.Xunit.IntegrationTesting as a Cake Tool
#tool nuget:?package=Reo.Core.Xunit.IntegrationTesting&version=8.0.104                

Xunit.IntegrationTesting

Расширение фреймворка xUnit для выполнения интеграционного тестирования

Использование

Первоначальная настройка

В проекте с тестами необходимо определить файл со следующим содержимым:

using Reo.Core.IntegrationTesting.TestFramework.Mongo;
using Reo.Core.IntegrationTesting.TestFramework.Postgres;
using Reo.Core.Xunit.IntegrationTesting.Attributes;

[assembly:EnableIntegrationTestingFramework]
[assembly:RaiseContainer<PostgresTestContainer<TestingContext>>]
[assembly:RaiseContainer<MongoTestContainer>]

Атрибут EnableIntegrationTestingFramework должен быть указан в обязательном порядке. Он указывает xUnit, что необходимо использовать расширенный тестовый фреймворк вместо обычного.

Атрибут RaiseContainer нужен для того, чтобы при запуске тестов запустился контейнер указанного типа. В прошлом контейнеры запускались при старте каждого тестового класса, теперь запускается единственный контейнер для всех тестов примерно сразу после загрузки сборки.

На данный момент реализованы четыре контейнера (их можно найти в пакете Reo.Core.IntegrationTesting):

  • Postgres (PostgresTestContainer{TDbContext} и PostgresFixture{TDbContext})
  • Mongo (MongoTestContainer и MongoFixture)
  • Redis (RedisTestContainer и RedisFixture)
  • Elastic (ElasticTestContainer и ElasticFixture)
Написание тестов

В тестовом классе необходимо указать какую фикстуру вы хотите использовать.

CollectionFixture

Фикстура создается один раз на запускаемую пачку тестов

// CollectionDefinition.cs

[CollectionDefinition(nameof(PostgresDefinition))]
public sealed class PostgresDefinition : ICollectionFixture<PostgresFixture<TestingDbContext>>
{ }
// TestClass.cs

[Collection(nameof(PostgresDefinition))]
public sealed class TestClass
{
    private readonly PostgresFixture<TestingDbContext> _fixture;

    public TestClass(PostgresFixture<TestingDbContext> fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void Verify()
    {
        // ...
    }
}

К сожалению, CollectionDefinition необходимо описывать в каждой сборке, иначе xUnit их не увидит (см. документацию xUnit)

ClassFixture

Фикстура создается один раз на запускаемый тестовый класс

public sealed class TestClass : IClassFixture<MongoFixture>
{
    private readonly MongoFixture _fixture;

    public TestClass(MongoFixture fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void Verify()
    {
        // ...
    }
}

И то, и другое

xUnit не запрещает внедрять IClassFixture и ICollectionFixture одновременно:

[Collection(nameof(PostgresDefinition))]
public sealed class TestClass : IClassFixture<MongoFixture>
{
    // ...

    public TestClass(PostgresFixture<TestingDbContext> postgresFixture, MongoFixture mongoFixture)
    {
    	// ...
    }

    // ...
}

Сидирование данных

Чтобы проинициализировать справочники, вы должны реализовать абстрактный класс ContainerSeeder

public sealed class PostgresSeeder : ContainerSeeder<PostgresFixture<TestingContext>>
{
    /// <inheritdoc />
    public override async Task SeedAsync(PostgresFixture<TestingContext> fixture)
    {
        await using var databaseContext =
            await fixture.DatabaseContextFactory.CreateDbContextAsync();

        databaseContext.References.Add(new()
        {
            Id = Guid.NewGuid(),
            Name = "Profile test"
        });

        await databaseContext.SaveChangesAsync();
    }
}

Сид не должен содержать конструкторов, кроме стандартного. Количество сидов для одной фикстуры не ограничено.

Немного про очистку базы данных после исполнения конкретного теста

Если после каждого теста вы хотите откатывать ее в первоначальное состояние - используйте метод CleanupAsync, определенной у каждой фикстуры:

public sealed class Tests : IClassFixture<PostgresFixture<TestingContext>>, IAsyncLifetime
{
    private readonly PostgresFixture<TestingContext> _fixture;

    public ContainerSeederTests(PostgresFixture<TestingContext> fixture)
        => _fixture = fixture;

    public async Task InitializeAsync()
    {
        await using var databaseContext =
            await _fixture.DatabaseContextFactory.CreateDbContextAsync();

        databaseContext.Entities.Add(new()
        {
            Id = Guid.NewGuid()
        });

        await databaseContext.SaveChangesAsync();
    }

    [Theory]
    [InlineData(1)]
    [InlineData(2)]
    [InlineData(3)]
    public async Task Verify(int _)
    {
        // Благодаря _fixture.CleanupAsync() в базе всегда будет 1 запись, добавленная в InitializeAsync()
    }


    public Task DisposeAsync()
        => _fixture.CleanupAsync();
}

Метод CleanupAsync очищает базу данных и повторно выполняет сидирование справочников

Регистрация артефактов из фикстуры в AutoMocker

При внедрении фикстуры используйте готовые методы расширения:

public sealed class TestClass :
    IClassFixture<PostgresFixture<TestingDbContext>>,
    IClassFixture<MongoFixture>,
    IClassFixture<ElasticFixture>,
    IClassFixture<RedisFixture>
{
    private readonly AutoMocker _mocker = new();

    // ...

    public TestClass(
        PostgresFixture<TestingDbContext> postgresFixture,
        MongoFixture mongoFixture,
        ElasticFixture elasticFixture,
        RedisFixture redisFixture)
    {
    	// ...

        _mocker
            .SetupPostgres(postgresFixture)
            .SetupMongo(mongoFixture)
            .SetupElastic(elasticFixture)
            .SetupRedis(redisFixture);
    }

    // ...
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Reo.Core.Xunit.IntegrationTesting:

Package Downloads
Reo.Core.IntegrationTesting

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.104 89 12/28/2024
8.0.103 83 12/28/2024
8.0.102 75 12/28/2024
8.0.101 75 12/28/2024
8.0.100 79 12/27/2024
8.0.99 77 12/27/2024
8.0.98 81 12/27/2024
8.0.97 91 12/24/2024
8.0.96 86 12/23/2024
8.0.95 88 12/20/2024
8.0.94 96 12/20/2024
8.0.93 90 12/20/2024
8.0.92 88 12/19/2024
8.0.91 84 12/19/2024
8.0.90 82 12/19/2024
8.0.89 84 12/19/2024
8.0.88 80 12/18/2024
8.0.87 80 12/18/2024
8.0.86 83 12/18/2024
8.0.85 76 12/17/2024
8.0.84 83 12/17/2024
8.0.83 84 12/16/2024
8.0.82 78 12/16/2024
8.0.81 84 12/16/2024
8.0.80 64 12/16/2024
8.0.79 90 12/13/2024
8.0.78 78 12/13/2024
8.0.77 77 12/12/2024
8.0.76 84 12/12/2024
8.0.75 85 12/12/2024
8.0.74 81 12/12/2024
8.0.73 83 12/11/2024
8.0.72 83 12/11/2024
8.0.71 85 12/11/2024
8.0.70 87 12/10/2024
8.0.69 87 12/10/2024
8.0.68 91 12/10/2024
8.0.67 101 12/10/2024
8.0.66 79 12/10/2024
8.0.65 84 12/10/2024
8.0.64 88 12/9/2024
8.0.63 82 12/9/2024
8.0.62 82 12/9/2024
8.0.61 83 12/8/2024
8.0.60 91 12/6/2024
8.0.59 97 12/6/2024
8.0.58 114 12/3/2024
8.0.57 109 12/3/2024
8.0.56 88 12/2/2024
8.0.55 89 12/2/2024
8.0.54 107 11/28/2024
8.0.53 93 11/27/2024
8.0.52 82 11/27/2024
8.0.51 82 11/27/2024
8.0.50 83 11/27/2024
8.0.49 117 11/26/2024
8.0.48 91 11/25/2024
8.0.47 84 11/25/2024
8.0.46 84 11/25/2024
8.0.45 121 11/25/2024
8.0.44 100 11/22/2024
8.0.43 91 11/22/2024
8.0.42 80 11/21/2024
8.0.41 87 11/21/2024
8.0.40 84 11/20/2024
8.0.36 102 11/20/2024
8.0.35 100 11/20/2024
8.0.34 94 11/20/2024
8.0.32 92 11/20/2024
8.0.31 99 11/19/2024
8.0.30 99 11/18/2024
8.0.29 83 11/18/2024
8.0.28 99 11/15/2024
8.0.27 90 11/15/2024
8.0.26 87 11/14/2024
8.0.25 85 11/14/2024
8.0.24 95 11/13/2024
8.0.23 85 11/13/2024
8.0.22 92 11/12/2024
8.0.21 108 11/12/2024
8.0.20 99 11/12/2024
8.0.19 104 11/11/2024
8.0.18 99 11/11/2024
8.0.17 99 11/11/2024
8.0.16 98 11/8/2024
8.0.15 92 11/7/2024
8.0.14 81 11/7/2024
8.0.12 92 11/5/2024
8.0.11 94 11/5/2024
8.0.10 96 11/5/2024
8.0.9 83 10/30/2024
8.0.8 84 10/30/2024
8.0.7 82 10/30/2024
8.0.6 88 10/28/2024
8.0.5 133 10/23/2024
8.0.4 86 10/23/2024
6.0.32011 149 10/18/2024
6.0.32010 98 10/16/2024
6.0.32009 104 10/16/2024
6.0.32008 109 10/16/2024
6.0.32007 103 10/16/2024
6.0.32006 109 10/16/2024
6.0.32005 106 10/14/2024
6.0.32004 123 10/9/2024
6.0.32001 126 10/2/2024
6.0.32000 116 10/1/2024
6.0.31999 95 10/1/2024
6.0.31998 109 10/1/2024
6.0.31997 106 9/30/2024
6.0.31996 107 9/30/2024
6.0.31995 118 9/30/2024
6.0.31994 145 9/20/2024
6.0.31993 99 9/20/2024
6.0.31992 106 9/20/2024
6.0.31991 110 9/19/2024
6.0.31990 105 9/17/2024
6.0.31989 105 9/16/2024
6.0.31988 105 9/16/2024
6.0.31987 105 9/16/2024
6.0.31986 102 9/16/2024
6.0.31985 121 9/13/2024
6.0.31984 116 9/13/2024
6.0.31983 117 9/13/2024
6.0.31982 119 9/12/2024
6.0.31981 108 9/12/2024
6.0.31980 112 9/12/2024
6.0.31979 113 9/12/2024
6.0.31978 116 9/12/2024
6.0.31977 155 9/11/2024
6.0.31976 144 9/11/2024
6.0.31975 140 9/11/2024
6.0.31974 240 9/6/2024
6.0.31973 146 9/5/2024
6.0.31972 120 9/4/2024
6.0.31971 120 9/2/2024
6.0.31970 120 8/28/2024
6.0.31969 120 8/28/2024
6.0.31968 131 8/27/2024
6.0.31967 119 8/26/2024
6.0.31966 138 8/21/2024
6.0.31965 201 8/19/2024
6.0.31964 131 8/19/2024
6.0.31963 129 8/19/2024
6.0.31962 143 8/15/2024
6.0.31961 158 8/13/2024
6.0.31960 141 8/12/2024
6.0.31959 127 8/12/2024
6.0.31958 104 8/7/2024
6.0.31957 112 8/7/2024
6.0.31956 93 8/6/2024
6.0.31955 104 8/6/2024
6.0.31954 101 8/6/2024
6.0.31953 103 8/6/2024
6.0.31952 106 8/5/2024
6.0.31951 100 8/2/2024
6.0.31950 97 8/2/2024
6.0.31949 97 8/2/2024
6.0.31948 116 8/1/2024
6.0.31947 106 7/31/2024
6.0.31946 149 7/30/2024
6.0.31945 79 7/30/2024
6.0.31944 92 7/25/2024
6.0.31943 81 7/25/2024
6.0.31942 120 7/24/2024
6.0.31941 128 7/24/2024
6.0.31940 134 7/22/2024
6.0.31939 117 7/22/2024
6.0.31938 117 7/22/2024
6.0.31937 133 7/21/2024
6.0.31936 112 7/19/2024
6.0.31935 103 7/19/2024
6.0.31934 107 7/19/2024
6.0.31933 111 7/18/2024
6.0.31932 109 7/18/2024
6.0.31931 96 7/18/2024
6.0.31930 99 7/18/2024
6.0.31929 101 7/16/2024
6.0.31928 107 7/16/2024
6.0.31927 100 7/16/2024
6.0.31926 103 7/16/2024
6.0.31925 96 7/16/2024
6.0.31924 103 7/16/2024
6.0.31921 105 7/15/2024
6.0.31920 95 7/15/2024
6.0.31919 103 7/15/2024
6.0.31918 95 7/11/2024
6.0.31917 98 7/11/2024
6.0.31916 112 7/11/2024
6.0.31915 104 7/11/2024
6.0.31914 109 7/10/2024
6.0.31913 120 7/10/2024
6.0.31912 109 7/10/2024
6.0.31911 109 7/10/2024
6.0.31910 129 7/4/2024
6.0.31909 116 7/3/2024
6.0.31908 129 7/3/2024
6.0.31907 129 7/2/2024
6.0.31906 134 6/27/2024
6.0.31905 127 6/27/2024
6.0.31904 128 6/27/2024
6.0.31903 129 6/27/2024
6.0.31902 110 6/27/2024
6.0.31901 118 6/26/2024
6.0.31900 121 6/26/2024
6.0.31899 118 6/26/2024
6.0.31898 126 6/26/2024
6.0.31897 112 6/26/2024
6.0.31896 100 6/26/2024
6.0.31894 116 6/25/2024
6.0.31893 117 6/25/2024
6.0.31892 112 6/25/2024
6.0.31891 111 6/25/2024
6.0.31890 114 6/25/2024
6.0.31887 110 6/25/2024
6.0.31886 119 6/25/2024
6.0.31885 112 6/24/2024
6.0.31884 111 6/24/2024
6.0.31883 132 6/23/2024
6.0.31882 114 6/21/2024
6.0.31881 119 6/21/2024
6.0.31880 115 6/21/2024
6.0.31879 133 6/20/2024
6.0.31878 194 6/19/2024
6.0.31877 129 6/19/2024
6.0.31876 123 6/19/2024
6.0.31875 131 6/19/2024
6.0.31874 124 6/19/2024
6.0.31873 130 6/19/2024
6.0.31872 137 6/19/2024
6.0.31871 136 6/19/2024
6.0.31870 127 6/19/2024
6.0.31869 126 6/19/2024
6.0.31868 140 6/18/2024
6.0.31867 121 6/18/2024
6.0.31866 134 6/18/2024
6.0.31865 133 6/18/2024
6.0.31864 138 6/18/2024
6.0.31863 126 6/18/2024
6.0.31862 130 6/18/2024
6.0.31861 116 6/18/2024
6.0.31860 120 6/17/2024
6.0.31859 121 6/17/2024
6.0.31858 123 6/17/2024
6.0.31857 132 6/17/2024
6.0.31856 128 6/17/2024
6.0.31855 115 6/17/2024
6.0.31854 125 6/17/2024
6.0.31853 137 6/17/2024
6.0.31852 129 6/17/2024
6.0.31851 125 6/17/2024
6.0.31850 125 6/17/2024
6.0.31849 115 6/17/2024
6.0.31848 127 6/15/2024
6.0.31847 124 6/15/2024
6.0.31846 118 6/14/2024
6.0.31845 130 6/14/2024
6.0.31844 133 6/14/2024
6.0.31843 123 6/14/2024
6.0.31842 134 6/14/2024
6.0.31841 126 6/13/2024
6.0.31840 127 6/13/2024
6.0.31839 122 6/13/2024
6.0.31838 120 6/13/2024
6.0.31837 121 6/13/2024
6.0.31836 128 6/13/2024
6.0.31835 134 6/13/2024
6.0.31834 116 6/13/2024
6.0.31833 116 6/12/2024
6.0.31832 110 6/12/2024
6.0.31831 108 6/11/2024
6.0.31830 104 6/11/2024
6.0.31829 101 6/11/2024
6.0.31828 105 6/11/2024
6.0.31827 116 6/11/2024
6.0.31826 104 6/11/2024
6.0.31825 117 6/10/2024
6.0.31824 104 6/10/2024
6.0.31823 110 6/10/2024
6.0.31822 112 6/10/2024
6.0.31821 110 6/10/2024
6.0.31820 109 6/10/2024
6.0.31819 107 6/10/2024
6.0.31818 102 6/10/2024
6.0.31817 109 6/7/2024
6.0.31816 112 6/7/2024
6.0.31815 115 6/7/2024
6.0.31814 125 6/6/2024
6.0.31813 124 6/6/2024
6.0.31812 121 6/6/2024
6.0.31811 113 6/6/2024
6.0.31810 127 6/6/2024
6.0.31809 122 6/6/2024
6.0.31808 116 6/6/2024
6.0.31807 125 6/5/2024
6.0.31806 126 6/4/2024
6.0.31805 121 6/4/2024
6.0.31804 125 6/4/2024
6.0.31803 126 6/4/2024
6.0.31802 119 6/4/2024
6.0.31801 126 6/3/2024
6.0.31800 121 6/3/2024
6.0.31799 118 6/3/2024
6.0.31798 112 6/3/2024
6.0.31797 98 6/3/2024
6.0.31796 118 6/3/2024
6.0.31795 129 6/3/2024
6.0.31794 147 5/31/2024
6.0.31793 136 5/30/2024
6.0.31792 133 5/30/2024
6.0.31791 119 5/30/2024
6.0.31790 127 5/30/2024
6.0.31789 129 5/30/2024
6.0.31788 130 5/30/2024
6.0.31787 127 5/29/2024
6.0.31786 116 5/29/2024
6.0.31785 124 5/29/2024
6.0.31784 114 5/29/2024
6.0.31783 139 5/27/2024
6.0.31782 120 5/27/2024
6.0.31781 135 5/26/2024
6.0.31780 130 5/24/2024
6.0.31779 126 5/22/2024
6.0.31778 133 5/22/2024
6.0.31777 114 5/22/2024
6.0.31776 131 5/22/2024
6.0.31775 124 5/22/2024
6.0.31774 123 5/21/2024
6.0.31773 123 5/21/2024
6.0.31772 133 5/20/2024
6.0.31771 120 5/16/2024
6.0.31770 120 5/15/2024
6.0.31769 123 5/15/2024
6.0.31768 130 5/15/2024
6.0.31767 113 5/15/2024
6.0.31766 137 5/15/2024
6.0.31764 130 5/14/2024
6.0.31763 114 5/14/2024
6.0.31762 107 5/14/2024
6.0.31761 123 5/14/2024
6.0.31760 123 5/14/2024
6.0.31759 129 5/13/2024
6.0.31758 126 5/13/2024
6.0.31757 113 5/13/2024
6.0.31756 121 5/12/2024
6.0.31755 114 5/12/2024
6.0.31754 126 5/12/2024
6.0.31753 134 5/8/2024
6.0.31751 129 5/7/2024
6.0.31749 131 5/6/2024
6.0.31748 137 5/6/2024
6.0.31747 145 5/6/2024
6.0.31746 100 5/3/2024
6.0.31745 88 5/3/2024
6.0.31744 87 5/3/2024
6.0.31743 87 5/2/2024
6.0.31742 131 4/27/2024
6.0.31741 126 4/27/2024
6.0.31740 132 4/26/2024
6.0.31739 124 4/26/2024
6.0.31738 144 4/26/2024
6.0.31737 151 4/26/2024
6.0.31735 154 4/25/2024
6.0.31734 141 4/25/2024
6.0.31733 125 4/25/2024
6.0.31732 124 4/25/2024
6.0.31731 116 4/25/2024
6.0.31730 136 4/24/2024
6.0.31729 126 4/24/2024
6.0.31728 135 4/24/2024
6.0.31727 134 4/23/2024
6.0.31726 111 4/23/2024
6.0.31725 127 4/23/2024
6.0.31724 120 4/22/2024
6.0.31723 130 4/22/2024
6.0.31722 135 4/22/2024
6.0.31721 135 4/22/2024
6.0.31720 132 4/22/2024
6.0.31719 124 4/22/2024
6.0.31718 126 4/22/2024
6.0.31717 134 4/22/2024
6.0.31716 123 4/22/2024
6.0.31715 138 4/20/2024
6.0.31714 140 4/19/2024
6.0.31713 119 4/19/2024
6.0.31712 115 4/19/2024
6.0.31711 131 4/19/2024
6.0.31710 122 4/19/2024
6.0.31709 136 4/19/2024
6.0.31708 126 4/18/2024
6.0.31707 123 4/18/2024
6.0.31706 122 4/18/2024
6.0.31705 117 4/17/2024
6.0.31704 140 4/17/2024
6.0.31703 123 4/17/2024
6.0.31702 129 4/17/2024
6.0.31701 118 4/16/2024
6.0.31700 121 4/16/2024
6.0.31699 127 4/16/2024
6.0.31698 111 4/16/2024
6.0.31697 117 4/16/2024
6.0.31696 122 4/16/2024
6.0.31695 117 4/16/2024
6.0.31694 116 4/16/2024
6.0.31693 121 4/16/2024
6.0.31692 123 4/15/2024
6.0.31691 121 4/15/2024
6.0.31690 126 4/15/2024
6.0.31688 135 4/12/2024
6.0.31687 115 4/12/2024
6.0.31686 118 4/12/2024
6.0.31685 120 4/12/2024
6.0.31684 107 4/11/2024
6.0.31683 134 4/10/2024
6.0.31682 125 4/10/2024
6.0.31681 107 4/10/2024
6.0.31680 129 4/10/2024
6.0.31679 106 4/10/2024
6.0.31678 117 4/10/2024
6.0.31677 126 4/9/2024
6.0.31676 128 4/9/2024
6.0.31675 124 4/8/2024
6.0.31674 127 4/8/2024
6.0.31673 135 4/8/2024
6.0.31672 106 4/8/2024
6.0.31671 114 4/8/2024
6.0.31670 133 4/8/2024
6.0.31669 135 4/8/2024
6.0.31668 131 4/5/2024
6.0.31667 132 4/5/2024
6.0.31666 133 4/3/2024
6.0.31665 126 4/3/2024
6.0.31663 136 4/3/2024
6.0.31662 125 4/3/2024
6.0.31661 124 4/2/2024
6.0.31660 135 4/1/2024
6.0.31659 134 4/1/2024
6.0.31658 119 4/1/2024
6.0.31657 119 3/29/2024
6.0.31656 122 3/29/2024
6.0.31655 120 3/29/2024
6.0.31654 123 3/29/2024
6.0.31653 120 3/29/2024
6.0.31651 106 3/29/2024
6.0.31650 121 3/29/2024
6.0.31649 109 3/29/2024
6.0.31648 127 3/29/2024
6.0.31647 118 3/29/2024
6.0.31646 132 3/29/2024
6.0.31645 119 3/28/2024
6.0.31644 121 3/28/2024
6.0.31643 132 3/28/2024
6.0.31642 116 3/28/2024
6.0.31639 129 3/28/2024
6.0.31638 110 3/28/2024
6.0.31637 138 3/27/2024
6.0.31636 152 3/27/2024
6.0.31631 124 3/27/2024
6.0.31626 134 3/26/2024
6.0.31625 137 3/25/2024
6.0.31618 133 3/20/2024
6.0.31617 125 3/20/2024
6.0.31616 134 3/20/2024
6.0.31615 142 3/20/2024
6.0.31614 148 3/19/2024
6.0.31613 148 3/18/2024
6.0.31612 151 3/18/2024
6.0.31611 155 3/18/2024
6.0.31610 147 3/18/2024
6.0.31609 138 3/15/2024
6.0.31608 140 3/14/2024
6.0.31607 148 3/13/2024
6.0.31606 142 3/13/2024
6.0.31605 133 3/13/2024
6.0.31604 134 3/12/2024
6.0.31603 128 3/12/2024
6.0.31602 168 3/7/2024
6.0.31601 147 3/7/2024
6.0.31600 152 3/7/2024
6.0.31599 159 3/6/2024
6.0.31598 146 3/6/2024
6.0.31597 144 3/6/2024
6.0.31596 146 3/6/2024
6.0.31595 158 3/6/2024
6.0.31594 130 3/4/2024
6.0.31593 135 3/4/2024
6.0.31590 136 3/1/2024
6.0.31589 138 3/1/2024
6.0.31588 131 3/1/2024
6.0.31587 138 3/1/2024
6.0.31586 149 3/1/2024
6.0.31585 128 3/1/2024
6.0.31584 134 3/1/2024
6.0.31583 134 3/1/2024
6.0.31582 136 2/29/2024
6.0.31581 136 2/29/2024
6.0.31580 129 2/29/2024
6.0.31579 145 2/29/2024
6.0.31578 136 2/29/2024
6.0.31577 132 2/29/2024
6.0.31576 142 2/29/2024
6.0.31575 274 2/28/2024
6.0.104 76 12/28/2024
6.0.103 83 12/28/2024
6.0.102 78 12/28/2024
6.0.101 71 12/28/2024
6.0.100 68 12/27/2024
6.0.99 80 12/27/2024
6.0.98 76 12/27/2024
6.0.97 79 12/24/2024
6.0.96 83 12/23/2024
6.0.95 79 12/20/2024
6.0.94 82 12/20/2024
6.0.93 87 12/20/2024
6.0.92 85 12/19/2024
6.0.91 81 12/19/2024
6.0.90 82 12/19/2024
6.0.89 80 12/19/2024
6.0.88 79 12/18/2024
6.0.87 80 12/18/2024
6.0.86 77 12/18/2024
6.0.85 82 12/17/2024
6.0.84 78 12/17/2024
6.0.83 80 12/16/2024
6.0.82 85 12/16/2024
6.0.81 86 12/16/2024
6.0.80 62 12/16/2024
6.0.79 81 12/13/2024
6.0.78 85 12/13/2024
6.0.77 82 12/12/2024
6.0.76 79 12/12/2024
6.0.75 80 12/12/2024
6.0.74 89 12/12/2024
6.0.73 80 12/11/2024
6.0.72 87 12/11/2024
6.0.71 80 12/11/2024
6.0.70 80 12/10/2024
6.0.69 80 12/10/2024
6.0.68 89 12/10/2024
6.0.67 80 12/10/2024
6.0.66 81 12/10/2024
6.0.65 83 12/10/2024
6.0.64 86 12/9/2024
6.0.63 82 12/9/2024
6.0.62 93 12/9/2024
6.0.61 91 12/8/2024
6.0.60 98 12/6/2024
6.0.59 88 12/6/2024
6.0.58 89 12/3/2024
6.0.57 95 12/3/2024
6.0.56 83 12/2/2024
6.0.55 82 12/2/2024
6.0.54 93 11/28/2024
6.0.53 88 11/27/2024
6.0.52 81 11/27/2024
6.0.51 83 11/27/2024
6.0.50 81 11/27/2024
6.0.49 90 11/26/2024
6.0.48 84 11/25/2024
6.0.47 89 11/25/2024
6.0.46 91 11/25/2024
6.0.45 76 11/25/2024
6.0.44 84 11/22/2024
6.0.43 83 11/22/2024
6.0.42 81 11/21/2024
6.0.41 79 11/21/2024
6.0.40 83 11/20/2024
6.0.36 81 11/20/2024
6.0.35 88 11/20/2024
6.0.34 92 11/20/2024
6.0.32 86 11/20/2024
6.0.31 85 11/19/2024
6.0.30 91 11/18/2024
6.0.29 96 11/18/2024
6.0.28 88 11/15/2024
6.0.27 92 11/15/2024
6.0.26 83 11/14/2024
6.0.25 89 11/14/2024
6.0.24 88 11/13/2024
6.0.23 84 11/13/2024
6.0.22 91 11/12/2024
6.0.21 89 11/12/2024
6.0.20 104 11/12/2024
6.0.19 93 11/11/2024
6.0.18 96 11/11/2024
6.0.17 101 11/11/2024
6.0.16 90 11/8/2024
6.0.15 88 11/7/2024
6.0.14 85 11/7/2024
6.0.12 92 11/5/2024
6.0.11 94 11/5/2024
6.0.10 89 11/5/2024
6.0.9 85 10/30/2024
6.0.8 88 10/30/2024
6.0.7 80 10/30/2024
6.0.6 88 10/28/2024
6.0.5 81 10/23/2024
6.0.4 91 10/23/2024