Testing - open a testing workbook
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- csharp
- Área
- testing-qa, tooling
Línea de trabajo
Comienza con la WorkbookFixture propuesta en el assembly ExcelDna.Testing e inspecciona los libros de trabajo de XFunctions Examples, especialmente HelpExamples.xlsx. Revisa cómo xUnit IClassFixture debe proporcionar el libro de trabajo y, a continuación, resuelve las cuestiones abiertas del issue sobre cómo localizar, abrir y cerrar los libros de trabajo de prueba. Se considera terminado cuando exista un diseño de fixture definido que permita ejecutar pruebas contra un libro de trabajo creado previamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I think it would be nice to be able to run all the test from a class in the context of a pre-created workbook.
I'm trying to understand what the xUnit way to set this up would be.
For example, in the XFunctions add-in, I have some example workbooks:
https://github.com/Excel-DNA/XFunctions/tree/master/Examples
I want to make tests for the XFunctions add-in that execute in the context of one of those workbooks.
I suggest we add a WorkbookFixture class in the ExcelDna.Testing assembly that looks like this:
public class WorkbookFixture : IDisposable
{
public Workbook Workbook { get; }
public WorkbookFixture(string name)
{
// Look for the workbook in the test directory or somewhere close
// not sure what the path search story should be - do we allow partial paths like testbook/myBook.xlsx ?
// in practise one might want the test workbook in the test project directory, not the test output directory?
// Anyway, once we've found it we open it.
}
public Dispose() { // Close it? }
}
For the test code, maybe something like this could then work.
Suppose there is a file called HelpExamples.xlsx in a good directory.
Then the test gets a class that subclasses the WorkbookFixture, passing in the name as constructor parameter.
public class HelpExamplesFixture : base("HelpExamples.xlsx") {}
public class HelpExampleTests : IClassFixture<HelpExamplesFixture>
{
Workbook _wb;
public HelpExampleTests(HelpExamplesFixture fixture) { _wb = fixture.Workbook; };
[Fact]
public void CheckSomething()
{
Assert.Equal(_wb.Range["A1"], 123);
}
}
@Sergey-Vlasov Do you have any thoughts on how this should work?
- Lenguaje dominante
- C#
- Estrellas
- 0
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Excel-DNA/DeveloperTools
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Excel-DNA/DeveloperTools#24 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
Excel-DNA/DeveloperTools#16 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Excel-DNA/DeveloperTools#15 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Excel-DNA/DeveloperTools#14 · 4 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de Excel-DNA/DeveloperTools
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NethermindEth/nethermind#14012 ·
Los mantenedores suelen responder en 1 día
-
dependencies Status: Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
json-schema-org/website#2518 ·
Los mantenedores suelen responder en 1 día
-
agentic-workflows
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
builtbybel/Flyoobe#498 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
builtbybel/CrapFixer#112 ·