This document provides an overview and instructions for developing a real application called SportsStore using ASP.NET MVC. It discusses starting the domain model by adding a Product model class and creating an abstract IProductsRepository interface. It also covers setting up projects, installing packages, adding references between projects, and configuring the dependency injection container.
Vue and Vuex allow you to build interactive web applications. The document discusses Vue basics like creating components, passing data between components using props and events, and routing between multiple pages. It also covers more advanced topics such as validating component inputs, watching for data changes, and using route parameters and query strings.
The document discusses various AWT classes and components for creating graphical user interfaces in Java, including buttons, borders, card layouts, checkboxes, text fields, menus, and handling events from mouse clicks and key presses. Code examples are provided to demonstrate drawing shapes and graphics, as well as handling user input events.
V1.0
How often do you get a bug report that you can’t reproduce?
How often do you struggle to find the source of the bug in your code?
How can you streamline the testing process and make sure you don’t repeat the same bugs?
With Visual Studio 2010 & Team Foundation Server (TFS) 2010 there are a lot of new features for testers and developers that will solve these problems.
In this session you will learn how to: automate more, reproduce bugs easier, maintain your tests and configuration and discover problems sooner.
from Peter Gfader
The document discusses test-driven development tools and techniques. It covers topics like unit testing, integration testing, acceptance testing using FitNesse, and mocking frameworks. It compares classic development approaches to test-driven development, emphasizing that TDD incorporates verification and validation throughout the development process with everyone's involvement.
The document discusses Agile testing techniques for Swift including unit testing with XCTest and GUI testing with XCUI. It provides details on mocking with Cuckoo, API testing with Postman, integrating tests with Jenkins, and measuring quality with SonarQube. Sample code is shown for unit tests, API tests, and GUI tests of a sample ETAMock app. Continuous integration with Jenkins and SonarQube is demonstrated along with links for further information.
Vue and Vuex allow you to build interactive web applications. The document discusses Vue basics like creating components, passing data between components using props and events, and routing between multiple pages. It also covers more advanced topics such as validating component inputs, watching for data changes, and using route parameters and query strings.
The document discusses various AWT classes and components for creating graphical user interfaces in Java, including buttons, borders, card layouts, checkboxes, text fields, menus, and handling events from mouse clicks and key presses. Code examples are provided to demonstrate drawing shapes and graphics, as well as handling user input events.
V1.0
How often do you get a bug report that you can’t reproduce?
How often do you struggle to find the source of the bug in your code?
How can you streamline the testing process and make sure you don’t repeat the same bugs?
With Visual Studio 2010 & Team Foundation Server (TFS) 2010 there are a lot of new features for testers and developers that will solve these problems.
In this session you will learn how to: automate more, reproduce bugs easier, maintain your tests and configuration and discover problems sooner.
from Peter Gfader
The document discusses test-driven development tools and techniques. It covers topics like unit testing, integration testing, acceptance testing using FitNesse, and mocking frameworks. It compares classic development approaches to test-driven development, emphasizing that TDD incorporates verification and validation throughout the development process with everyone's involvement.
The document discusses Agile testing techniques for Swift including unit testing with XCTest and GUI testing with XCUI. It provides details on mocking with Cuckoo, API testing with Postman, integrating tests with Jenkins, and measuring quality with SonarQube. Sample code is shown for unit tests, API tests, and GUI tests of a sample ETAMock app. Continuous integration with Jenkins and SonarQube is demonstrated along with links for further information.
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insTonny Madsen
This document contains a presentation about testing the user interface (UI) aspects of Eclipse plug-ins. It discusses using JUnit and simple tools to test UI parts of an application. It provides various strategies for testing perspectives, views, editors, and interaction using mouse/keyboard events, widget manipulation, and command execution. It also covers parameterized tests and ensuring no error messages are logged.
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-72-big-testing
Large-scale testing projects can stress many of the testing practices we have gotten used to over the years. This can result in less than optimal outcomes. A number of ideas and concepts have therefore emerged to support industrial-strength testing of big and complex projects. In this excerpt from a larger workshop Hans Buwalda shares experiences and the strategies he and his colleagues have used for testing on large projects, both in Europe and the US. Learn how to design tests specifically for automation and how to successfully incorporate keyword testing. See how to obtain more stable automation, what benefits and issues are of virtualization, and what to expect of global outsourcing. The information presented is based on nineteen years of experience with testing and test automation including projects that have tests executing continuously for many weeks on dozens of machines.
This document discusses the features and capabilities of Spock, a testing and specification framework for Groovy and Java. It provides an overview of Spock's data-driven testing with data tables, mocking framework, interaction-based testing, cardinality matching, and more. It also covers Spock's integration with Spring and Guice dependency injection frameworks as well as reports generation with Spock Reports.
Unit testing with JUnit can be done using JUnit 3.x or 4.x frameworks. Key aspects include writing test cases as Java classes that extend TestCase and contain test methods starting with "test", using assertion methods like assertTrue and assertEquals to validate outcomes, and running tests from Eclipse. JUnit 4.x introduced annotations like @Before, @Test, and @After to respectively set up objects before each test, identify test methods, and tear down objects after tests.
The document discusses several hidden aspects of Angular components and directives, including:
1. How change detection works in Angular and is triggered by events, timers, and XHR using zone.js.
2. How to explore the Angular source code to understand change detection sequences, lifecycle hooks, and classes like ApplicationRef and ChangeDetectionRef.
3. Other concepts like content projection, attribute directives, and differences between how selectors work for components and directives.
The document describes how to write functional test cases for SQL queries and web applications using JUnit in Java. It includes:
1) Creating a connection class to establish a connection to a MySQL database.
2) Defining classes containing methods that implement the functionality to be tested.
3) Writing JUnit test cases that call the functionality methods.
4) Using annotations like @Before, @Test, and @After for test initialization, execution, and teardown.
Bereits in seiner ersten Version war Angular ein Tool mit dem man schnell flüssige Frontend-Applikationen erstellen konnte. Inzwischen ist nach einem Rewrite in Angular 2 schon die 4. Generation verfügbar. Nun kann man mit Angular nicht nur komplette Applikationen entwickeln, sondern es lohnt sich auch, wenn man einfach mal einen Prototyp umsetzen will. In dem Workshop nehme ich das Publikum mit auf eine Reise von einer blanken Skeleton App bis hin zu einer fertigen Anwendung. Neben der Einführung in Vorgehensweisen von Angular lebt der Workshop von HandsOn.
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Frédéric Harper
This document discusses extending games for Windows 8 and includes demos of various features. It covers designing for touch, using the accelerometer sensor, snapped views, user profile data, contacts, sharing, settings, live tiles, monetization through in-app purchases, and advertising. It provides code examples and resources for creating Windows 8 games.
The document provides an introduction and tutorial on using JUnit for unit testing Java code. It discusses problems that arise when developers do not properly test their code. It then demonstrates how to write and structure JUnit tests using examples of testing a Money class that represents currency values and a MoneyBag class that handles arithmetic across multiple currencies. Key aspects covered include writing test methods, using assertions to validate results, setting up test fixtures, defining test suites, and implementing a test-driven approach of writing small amounts of code and tests iteratively.
This document provides an overview and tutorial on how to set up and use JUnit, a unit testing framework for Java. It discusses JUnit's features and environment setup, including downloading and configuring JUnit. It then covers writing and running basic JUnit tests, including creating test classes, methods, and runners. The document is intended for Java developers new to JUnit looking to learn its basic functionality and implementation.
This document summarizes an ATDD example using FitNesse, Selenium, and Java. It begins with background on the speaker and definitions of ATDD and TDD. It then provides examples of TDD tests in Java and how they map to ATDD acceptance criteria and tests in FitNesse using Selenium. The document concludes with discussing experiences using FitNesse in enterprise development and how it can reduce overhead compared to only using Java and JUnit for testing.
The secret unit testing tools no one ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework - in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about - some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster. In this session I'll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
A presentation on JUnit Pioneer given at Fortitude Technologies on Mar. 4, 2021. JUnit Pioneer is an extension library for JUnit 5 (Jupiter).
Sample code on GitHub at:
https://github.com/sleberknight/junit-pioneering-presentation-code
JUnit Pioneer home page:
https://junit-pioneer.org
The document discusses integrating security testing into the typical iterative development lifecycle through automated software tests at various stages, including unit tests, integration tests, and acceptance tests. It provides examples of using JUnit for unit testing and tools like Cactus, Selenium, and WATIR for integration and acceptance testing to validate valid/invalid inputs and test for vulnerabilities like SQL injection and cross-site scripting.
Rhino Mocks is a .NET mocking framework that allows developers to easily create and setup mock objects to test interactions using unit tests. It generates both mocks, which allow expectations to be set and verified, and stubs, which simply return preset values without verification. The document provides examples of using Rhino Mocks to generate mocks and stubs of interfaces, set expectations on mocks, and verify mock interactions using the AAA (Arrange, Act, Assert) syntax. It also distinguishes between mocks and stubs.
This document discusses various tools and techniques for testing Python code, including:
- Unittest and doctest modules for writing and running tests
- The mocker library for creating mock objects in tests
- Nose for finding and running tests across files
- Twill for testing web applications through a command line interface
- Code coverage tools like Coverage for analyzing test coverage
- Continuous integration tools like Buildbot for running tests automatically
Opticon 2015 - Getting Started with the Optimizely Developer PlatformOptimizely
Speakers:
Jon Gaulding, Senior Software Engineer, Optimizely
Josiah Gaskin, Senior Software Engineer, Optimizely
Together we’ll walk through the Optimizely Developer Platform and use it to build a fully functional integration. We'll demonstrate how easy it is to bring any first or third party data source into Optimizely and use it for targeting and segmentation. Learn how to expose custom data in the native Optimizely interface for a truly simple user experience. Following the session, both speakers will be available in the developer’s sandbox area to help you write your own integration!
Unit tests give developers and testers a quick way to look for logic errors in the methods of classes in Visual C#, Visual Basic, and Visual C++ projects. A unit test can be created one time and run every time that source code is changed to make sure that no bugs are introduced.
TDD is a design technique where tests are written before code to determine requirements. The Red-Green-Refactor process is followed: 1) Write a test that fails (red), 2) Write minimum code to pass the test (green), 3) Refactor code. TDD ensures quality, keeps code simple and testable, and allows for rapid change. Writing tests first helps design by clarifying requirements and preventing bugs.
The document discusses mutation testing as a way to evaluate test effectiveness beyond just code coverage metrics. It introduces the concept of mutation testing, where automated tools make small changes or "mutations" to the production code and tests are run to see if they can detect the changes. This helps identify weaknesses or gaps in test coverage. The document provides examples of mutation tools for Java and other languages and tips for getting started with mutation testing, including performance tweaking and integrating it into continuous integration pipelines. Mutation testing can help improve test quality, especially for safety critical systems, but should start small and be tweaked for performance.
Building a Pyramid: Symfony Testing StrategiesCiaranMcNulty
The last few years have seen a huge adoption of testing practices, and an explosion of different testing tools, in the PHP space. The difficulties come when we have to choose which tools to use, in what combinations, and how to apply them to existing codebases.
In this talk we will look at what tools are available, what their strengths are, how to decide which set of tools to use for new or legacy projects, and when to prioritise decoupling and testability over the convenience we get from our frameworks.
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insTonny Madsen
This document contains a presentation about testing the user interface (UI) aspects of Eclipse plug-ins. It discusses using JUnit and simple tools to test UI parts of an application. It provides various strategies for testing perspectives, views, editors, and interaction using mouse/keyboard events, widget manipulation, and command execution. It also covers parameterized tests and ensuring no error messages are logged.
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-72-big-testing
Large-scale testing projects can stress many of the testing practices we have gotten used to over the years. This can result in less than optimal outcomes. A number of ideas and concepts have therefore emerged to support industrial-strength testing of big and complex projects. In this excerpt from a larger workshop Hans Buwalda shares experiences and the strategies he and his colleagues have used for testing on large projects, both in Europe and the US. Learn how to design tests specifically for automation and how to successfully incorporate keyword testing. See how to obtain more stable automation, what benefits and issues are of virtualization, and what to expect of global outsourcing. The information presented is based on nineteen years of experience with testing and test automation including projects that have tests executing continuously for many weeks on dozens of machines.
This document discusses the features and capabilities of Spock, a testing and specification framework for Groovy and Java. It provides an overview of Spock's data-driven testing with data tables, mocking framework, interaction-based testing, cardinality matching, and more. It also covers Spock's integration with Spring and Guice dependency injection frameworks as well as reports generation with Spock Reports.
Unit testing with JUnit can be done using JUnit 3.x or 4.x frameworks. Key aspects include writing test cases as Java classes that extend TestCase and contain test methods starting with "test", using assertion methods like assertTrue and assertEquals to validate outcomes, and running tests from Eclipse. JUnit 4.x introduced annotations like @Before, @Test, and @After to respectively set up objects before each test, identify test methods, and tear down objects after tests.
The document discusses several hidden aspects of Angular components and directives, including:
1. How change detection works in Angular and is triggered by events, timers, and XHR using zone.js.
2. How to explore the Angular source code to understand change detection sequences, lifecycle hooks, and classes like ApplicationRef and ChangeDetectionRef.
3. Other concepts like content projection, attribute directives, and differences between how selectors work for components and directives.
The document describes how to write functional test cases for SQL queries and web applications using JUnit in Java. It includes:
1) Creating a connection class to establish a connection to a MySQL database.
2) Defining classes containing methods that implement the functionality to be tested.
3) Writing JUnit test cases that call the functionality methods.
4) Using annotations like @Before, @Test, and @After for test initialization, execution, and teardown.
Bereits in seiner ersten Version war Angular ein Tool mit dem man schnell flüssige Frontend-Applikationen erstellen konnte. Inzwischen ist nach einem Rewrite in Angular 2 schon die 4. Generation verfügbar. Nun kann man mit Angular nicht nur komplette Applikationen entwickeln, sondern es lohnt sich auch, wenn man einfach mal einen Prototyp umsetzen will. In dem Workshop nehme ich das Publikum mit auf eine Reise von einer blanken Skeleton App bis hin zu einer fertigen Anwendung. Neben der Einführung in Vorgehensweisen von Angular lebt der Workshop von HandsOn.
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Frédéric Harper
This document discusses extending games for Windows 8 and includes demos of various features. It covers designing for touch, using the accelerometer sensor, snapped views, user profile data, contacts, sharing, settings, live tiles, monetization through in-app purchases, and advertising. It provides code examples and resources for creating Windows 8 games.
The document provides an introduction and tutorial on using JUnit for unit testing Java code. It discusses problems that arise when developers do not properly test their code. It then demonstrates how to write and structure JUnit tests using examples of testing a Money class that represents currency values and a MoneyBag class that handles arithmetic across multiple currencies. Key aspects covered include writing test methods, using assertions to validate results, setting up test fixtures, defining test suites, and implementing a test-driven approach of writing small amounts of code and tests iteratively.
This document provides an overview and tutorial on how to set up and use JUnit, a unit testing framework for Java. It discusses JUnit's features and environment setup, including downloading and configuring JUnit. It then covers writing and running basic JUnit tests, including creating test classes, methods, and runners. The document is intended for Java developers new to JUnit looking to learn its basic functionality and implementation.
This document summarizes an ATDD example using FitNesse, Selenium, and Java. It begins with background on the speaker and definitions of ATDD and TDD. It then provides examples of TDD tests in Java and how they map to ATDD acceptance criteria and tests in FitNesse using Selenium. The document concludes with discussing experiences using FitNesse in enterprise development and how it can reduce overhead compared to only using Java and JUnit for testing.
The secret unit testing tools no one ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework - in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about - some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster. In this session I'll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
A presentation on JUnit Pioneer given at Fortitude Technologies on Mar. 4, 2021. JUnit Pioneer is an extension library for JUnit 5 (Jupiter).
Sample code on GitHub at:
https://github.com/sleberknight/junit-pioneering-presentation-code
JUnit Pioneer home page:
https://junit-pioneer.org
The document discusses integrating security testing into the typical iterative development lifecycle through automated software tests at various stages, including unit tests, integration tests, and acceptance tests. It provides examples of using JUnit for unit testing and tools like Cactus, Selenium, and WATIR for integration and acceptance testing to validate valid/invalid inputs and test for vulnerabilities like SQL injection and cross-site scripting.
Rhino Mocks is a .NET mocking framework that allows developers to easily create and setup mock objects to test interactions using unit tests. It generates both mocks, which allow expectations to be set and verified, and stubs, which simply return preset values without verification. The document provides examples of using Rhino Mocks to generate mocks and stubs of interfaces, set expectations on mocks, and verify mock interactions using the AAA (Arrange, Act, Assert) syntax. It also distinguishes between mocks and stubs.
This document discusses various tools and techniques for testing Python code, including:
- Unittest and doctest modules for writing and running tests
- The mocker library for creating mock objects in tests
- Nose for finding and running tests across files
- Twill for testing web applications through a command line interface
- Code coverage tools like Coverage for analyzing test coverage
- Continuous integration tools like Buildbot for running tests automatically
Opticon 2015 - Getting Started with the Optimizely Developer PlatformOptimizely
Speakers:
Jon Gaulding, Senior Software Engineer, Optimizely
Josiah Gaskin, Senior Software Engineer, Optimizely
Together we’ll walk through the Optimizely Developer Platform and use it to build a fully functional integration. We'll demonstrate how easy it is to bring any first or third party data source into Optimizely and use it for targeting and segmentation. Learn how to expose custom data in the native Optimizely interface for a truly simple user experience. Following the session, both speakers will be available in the developer’s sandbox area to help you write your own integration!
Unit tests give developers and testers a quick way to look for logic errors in the methods of classes in Visual C#, Visual Basic, and Visual C++ projects. A unit test can be created one time and run every time that source code is changed to make sure that no bugs are introduced.
TDD is a design technique where tests are written before code to determine requirements. The Red-Green-Refactor process is followed: 1) Write a test that fails (red), 2) Write minimum code to pass the test (green), 3) Refactor code. TDD ensures quality, keeps code simple and testable, and allows for rapid change. Writing tests first helps design by clarifying requirements and preventing bugs.
The document discusses mutation testing as a way to evaluate test effectiveness beyond just code coverage metrics. It introduces the concept of mutation testing, where automated tools make small changes or "mutations" to the production code and tests are run to see if they can detect the changes. This helps identify weaknesses or gaps in test coverage. The document provides examples of mutation tools for Java and other languages and tips for getting started with mutation testing, including performance tweaking and integrating it into continuous integration pipelines. Mutation testing can help improve test quality, especially for safety critical systems, but should start small and be tweaked for performance.
Building a Pyramid: Symfony Testing StrategiesCiaranMcNulty
The last few years have seen a huge adoption of testing practices, and an explosion of different testing tools, in the PHP space. The difficulties come when we have to choose which tools to use, in what combinations, and how to apply them to existing codebases.
In this talk we will look at what tools are available, what their strengths are, how to decide which set of tools to use for new or legacy projects, and when to prioritise decoupling and testability over the convenience we get from our frameworks.
The document provides an introduction to JUnit and Mockito frameworks for testing in Java. It covers key topics such as:
- What JUnit and Mockito are and how they are used for testing Java code
- Common JUnit annotations like @Test and how to structure test classes
- How to make assertions in JUnit tests to validate expected outcomes
- How to use Mockito to mock dependencies and define stubbed behavior
- Hands-on examples are provided to demonstrate writing tests with JUnit and Mockito
Steps how to create active x using visual studio 2008Yudep Apoi
The document outlines 17 steps to create an ActiveX control in Visual Studio 2008 using C# that can be deployed via a CAB file and initialized from JavaScript. Key steps include:
1. Creating a class library project and interface to expose the control's methods.
2. Marking the control as safe for scripting by implementing the IObjectSafety interface.
3. Creating an MSI installer for the control.
4. Packaging the MSI into a CAB file for web deployment.
5. Testing initialization and methods of the control via a test ASP.NET page and JavaScript.
MOPCON 2014 - Best software architecture in app developmentanistar sung
Talking about how to build smart design and architecture for app development. Let your app can easy develop and deploy components on your app. And more topic of version control and quality improvement.
Secret unit testing tools no one ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework – in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about – some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster.
In this session I’ll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
This presentation provide information to understand factory method pattern, it’s various implementation and Applicability. Major focus is on implementation of factory method pattern using reflection and without reflection.
The document provides an overview of Quick Test Professional (QTP), a test automation tool. It discusses topics like the testing process, add-ins, recording and running tests, the object repository, synchronization, checkpoints, parameters, actions, recovery scenarios, and programmatic descriptions for objects not in the repository.
The document provides an overview of Quick Test Professional (QTP), a test automation tool. It discusses topics like the testing process, add-ins, recording and running tests, the object repository, synchronization, checkpoints, parameters, actions, recovery scenarios, and programmatic descriptions for objects not in the repository.
The document provides an overview of Quick Test Professional (QTP), a test automation tool. It describes key aspects of QTP including the testing process, add-ins, recording and running tests, the object repository, object spy, object recognition, synchronization, checkpoints, parameters, actions, recovery scenarios, and using programmatic descriptions without an object repository.
The document provides an overview of Quick Test Professional (QTP), a test automation tool. It discusses key aspects of QTP including recording and running tests, using object repositories, checkpoints, parameters, actions, recovery scenarios, and programmatic descriptions.
The document provides an overview of Quick Test Professional (QTP), a test automation tool. It discusses topics like the testing process, add-ins, recording and running tests, the object repository, synchronization, checkpoints, parameters, actions, recovery scenarios, and programmatic descriptions for objects not in the repository.
The document summarizes the agenda for the first in-person event of the Canada Chinese Microsoft Tech Club. The agenda included check-in, an introduction to the club, a technical presentation on Machine Learning with .NET, a lucky draw, and free networking. The club aims to connect Chinese immigrants to the local Microsoft community in Canada. It was founded in March 2019 by organizer Yu Guan to help Chinese professionals in Canada use Microsoft technologies and contribute back to the community.
This document provides an overview of version control and Git. It discusses the history of version control from single-user locks to distributed systems like Git. It then defines what Git is and compares different Git repository providers like GitHub, GitLab, and Bitbucket. It recommends starting with a Git GUI and explains the difference between local and remote repositories. The document outlines a basic Git workflow of creating branches, committing changes, pushing branches, and creating pull requests. It concludes with some best practices for branch naming conventions and code reviews.
This document introduces Microsoft Azure by discussing how to pronounce the name, providing a brief history of cloud computing, and giving an overview of Azure's Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) offerings. It uses examples like "pizza as a service" and "house as a service" to illustrate cloud concepts and provides links for documentation and a free trial to get started with Azure.
This document provides an overview of the .NET framework and career opportunities for .NET development. The presenter introduces themselves as a Microsoft MVP who is passionate about Azure, IoT, cross-platform apps, and services. They discuss what .NET is, the benefits of learning .NET like easy learnability and strong job prospects, and how the presenter teaches .NET through Visual Studio and Microsoft certification. Resources for the .NET community like Meetup groups and blogs are also mentioned. The presentation concludes with tips for interviews and resumes, as well as opportunities for internships.
This document discusses setting up continuous integration and continuous delivery (CI/CD) for a NuGet package. It outlines the steps to create a build definition in Azure DevOps including adding steps to delete files, build with Visual Studio, package with NuGet, publish with NuGet, and set variables and triggers. The build is configured for continuous integration on check-ins and gated check-ins to ensure quality before deployment.
This document discusses hosting your own NuGet package feeds. It provides an overview of the NuGet ecosystem and package manager. It then describes how to create local NuGet feeds by copying packages to a local folder and configuring that folder as a package source. It also explains how to create remote NuGet feeds by setting up an empty web application in Visual Studio, installing the NuGet.Server package, configuring the packages folder and API key, adding packages, and deploying the feed.
Yu Guan provides best practices for developing Windows services including:
- Separating business logic into individual projects for implementation segmentation.
- Using an installer component marked with the [RunInstaller(true)] attribute for installation.
- Debugging services by running in console, attaching a process, or using Debugger.Launch() and Debugger.Break().
- The DevLib.ServiceProcess NuGet package and source code on CodePlex which provides an easy way to port services and solve common pain points.
This document provides guidelines for best practices when using Windows Communication Foundation (WCF). It discusses topics such as contract segmentation, parameters and return values, data mapping, service invocation, service granularity, transferring large data sets, and load balancing. The document recommends separating logically related interfaces into individual projects, marking types with data contract attributes, centralizing types into a common project, and considering streaming or compression for large data transfers. It also provides contact information for Yu Guan, a Microsoft MVP, speaker, and blogger who focuses on Azure, IoT, cross-platform apps, and other areas.
Unleash the power of code reuse - creating plugins for XamarinYu GUAN
You can easily share your code in your solution across iOS, Android and Windows platforms. However, what happens once you write this code and want to share it between other apps you are building or with other developers all over the world? Using the power of plugins and NuGet, sharing this code is also easy. In this topic, I want to show you how easy it is to create your own reusable plugin for Xamarin and publish it to NuGet.
Yu Guan introduces Azure 101, an episode about Microsoft Azure. The document discusses the history of cloud computing from renting physical machines to now using platforms like Azure. It provides an overview of Azure including virtual machines, web apps, data management, and mobile apps. It encourages the reader to try Azure themselves by signing up on the Azure portal.
The document provides tips for using PowerPoint to collaborate more easily including storing presentations in the cloud so a group can work on it together simultaneously, inserting charts directly into PowerPoint using data without needing a separate app, and using the Tell Me feature to add animations or find commands instead of searching menus to save time focusing on work. It also demonstrates using Smart Lookup to explore information contextual to selected words without leaving the current slides.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Asp netmvc e03
1. Developing in ASP.NET MVC
E03 Start A Real Application
Yu Guan | Microsoft MVP
2019-03
2. AGENDA
Unit Testing with Visual Studio
Using Moq
SportsStore: A Real Application
3. Unit Testing with Visual Studio
Creating the Unit Test Project
Creating the Unit Tests
Running the Unit Tests
Implementing the Feature
Testing and Fixing the Code
4. Unit Testing with Visual Studio
public interface IDiscountHelper
{
decimal ApplyDiscount(decimal totalParam);
}
public class MinimumDiscountHelper : IDiscountHelper
{
public decimal ApplyDiscount(decimal totalParam)
{
throw new NotImplementedException();
}
}
If the total is greater than $100, the discount will be 10 percent.
If the total is between $10 and $100 inclusive, the discount will be $5.
No discount will be applied on totals less than $10.
An ArgumentOutOfRangeException will be thrown for negative totals.
5. Creating the Unit Test Project
Right-clicking the top-level item in the Solution Explorer and selecting Add ➤
New Project from the pop-up menu.
You can choose to create a test project when you create a new MVC project:
there is an Add Unit Tests option on the dialog where you choose the initial
content for the project.
6.
7. Creating the Unit Tests
[TestClass]
public class UnitTest1
{
private IDiscountHelper GetTestObject()
{
return new MinimumDiscountHelper();
}
[TestMethod]
public void Discount_Above_100()
{
// arrange
IDiscountHelper target = GetTestObject();
decimal total = 200;
// act
var discountedTotal = target.ApplyDiscount(total);
// assert
Assert.AreEqual(total * 0.9M, discountedTotal);
}
}
8. Creating the Unit Tests
Method Description
AreEqual<T>(T, T)
AreEqual<T>(T, T, string)
Asserts that two objects of type T have the same value.
AreNotEqual<T>(T, T)
AreNotEqual<T>(T, T, string)
Asserts that two objects of type T do not have the same value.
AreSame<T>(T, T)
AreSame<T>(T, T, string)
Asserts that two variables refer to the same object.
AreNotSame<T>(T, T)
AreNotSame<T>(T, T, string)
Asserts that two variables refer to different objects.
IsTrue(bool)
IsTrue(bool, string)
Asserts that a bool value is true. Most often used to evaluate
an expression that returns a bool result.
IsFalse(bool)
IsFalse(bool, string)
Asserts that a bool value is false.
10. Running the Unit Tests
Visual Studio provides the Test Explorer window for managing and running tests.
Select Windows ➤ Test Explorer from the Visual Studio Test menu to see the
window and click the Run All button near the top-left corner.
11. Implementing the Feature
public decimal ApplyDiscount(decimal totalParam)
{
if (totalParam < 0)
{
throw new ArgumentOutOfRangeException();
}
else if (totalParam > 100)
{
return totalParam * 0.9M;
}
else if (totalParam > 10 && totalParam <= 100)
{
return totalParam - 5;
}
else
{
return totalParam;
}
}
13. Using Moq
Understanding the Problem
Adding Moq to the Visual Studio Project
Adding a Mock Object to a Unit Test
Creating a More Complex Mock Object
14. Understanding the Problem
public class LinqValueCalculator : IValueCalculator
{
private IDiscountHelper discounter;
private static int counter = 0;
public LinqValueCalculator(IDiscountHelper discountParam)
{
discounter = discountParam;
System.Diagnostics.Debug.WriteLine(
string.Format("Instance {0} created", ++counter));
}
public decimal ValueProducts(IEnumerable<Product> products)
{
return discounter.ApplyDiscount(products.Sum(p => p.Price));
}
}
15. Understanding the Problem
private Product[] products =
{
new Product {Name = "Kayak", Category = "Watersports", Price = 275M},
new Product {Name = "Lifejacket", Category = "Watersports", Price = 48.95M},
new Product {Name = "Soccer ball", Category = "Soccer", Price = 19.50M},
new Product {Name = "Corner flag", Category = "Soccer", Price = 34.95M}
};
[TestMethod]
public void Sum_Products_Correctly()
{
// arrange
var discounter = new MinimumDiscountHelper();
var target = new LinqValueCalculator(discounter);
var goalTotal = products.Sum(e => e.Price);
// act
var result = target.ValueProducts(products);
// assert
Assert.AreEqual(goalTotal, result);
}
16. Adding Moq to the Visual Studio Project
Install-Package Moq -version 4.1.1309.1617 -projectname xxxUnitTests
17. Adding a Mock Object to a Unit Test
[TestMethod]
public void Sum_Products_Correctly()
{
// arrange
Mock<IDiscountHelper> mock = new Mock<IDiscountHelper>();
mock
.Setup(m => m.ApplyDiscount(It.IsAny<decimal>()))
.Returns<decimal>(total => total);
var target = new LinqValueCalculator(mock.Object);
// act
var result = target.ValueProducts(products);
// assert
Assert.AreEqual(products.Sum(e => e.Price), result);
}
19. SportsStore: A Real Application
Getting Started
Starting the Domain Model
Displaying a List of Products
Preparing a Database
20. Getting Started
Creating the Visual Studio Solution and Projects
Installing the Tool Packages
Adding References Between Projects
Setting Up the DI Container
Running the Application
21. Creating the Visual Studio Solution and
Projects
Create a Visual Studio solution that contains three projects. One project will
contain the domain model, one will be the MVC application, and the third will
contain the unit tests. To get started, created a new Visual Studio solution called
SportsStore using the Blank Solution template.
22. Creating the Visual Studio Solution and
Projects
Project Name Visual Studio Project Template Purpose
Vic.SportsStore.Domain Class Library Holds the domain entities and
logic; set up
for persistence via a repository
created with
the Entity Framework.
Vic.SportsStore.WebApp ASP.NET MVC Web Application (choose
Empty when prompted to choose a project
template and check the MVC option)
Holds the controllers and views;
acts as the
UI for the SportsStore application.
Vic.SportsStore.UnitTests Unit Test Project Holds the unit tests for the other
two projects
26. Adding References Between Projects
Right-click each project in the Solution Explorer window, select Add Reference,
and add the references from the Assemblies ➤ Framework, Assemblies ➤
Extensions or Solution sections.
Project Name Solution Dependencies Assemblies References
Vic.SportsStore.Domain System.ComponentModel.DataAnnotations
Vic.SportsStore.WebApp Vic.SportsStore.Domain
Vic.SportsStore.UnitTests Vic.SportsStore.Domain
Vic.SportsStore.WebApp
System.Web
Microsoft.CSharp
29. Starting the Domain Model
Add Model
Creating an Abstract Repository
Making a Mock Repository
30. Add Model
Create a new folder called Entities inside the Vic.SportsStore.Domain project and
then a new C# class file called Product.cs within it
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
31. Creating an Abstract Repository
Create a new top-level folder inside the Vic.SportsStore.Domain project called
Abstract and, within the new folder, a new interface file called
IProductsRepository.cs You can add a new interface by right-clicking the Abstract
folder, selecting Add ➤ New Item, and selecting the Interface template.
32. Creating an Abstract Repository
public interface IProductsRepository
{
IEnumerable<Product> Products { get; }
}
33. Making a Mock Repository
private void AddBindings()
{
Mock<IProductsRepository> mock = new Mock<IProductsRepository>();
mock.Setup(m => m.Products).Returns(new List<Product>
{
new Product { Name = "Football", Price = 25 },
new Product { Name = "Surf board", Price = 179 },
new Product { Name = "Running shoes", Price = 95 }
});
kernel.Bind<IProductsRepository>().ToConstant(mock.Object);
}
34. Displaying a List of Products
Adding a Controller
Adding the Layout, View Start File and View
Rendering the View Data
Setting the Default Route
Running the Application
35. Adding a Controller
Right-click the Controllers folder in the Vic.SportsStore.WebApp project and
select Add ➤ Controller from the pop-up menu. Select the MVC 5 Controller –
Empty option, click the Add button and set the name to ProductController. Click
the Add button and Visual Studio will create a new class file called
ProductController.cs
public class ProductController : Controller
{
private IProductsRepository repository;
public ProductController(IProductsRepository productsRepository)
{
this.repository = productsRepository;
}
}
36. Adding a Controller
Calling the View method like this (without specifying a view name) tells the
framework to render the default view for the action method. Passing a List of
Product objects to the View method, provides the framework with the data with
which to populate the Model object in a strongly typed view.
public ViewResult List()
{
return View(repository.Products);
}
37. Adding the Layout, View Start File and View
Right-click on the List action method in the HomeController class and select Add
View from the pop-up menu. Set View Name to List, set Template to Empty, and
select Product for the Model Class. Ensure that the Use A Layout Page box is
checked and click the Add button to create the view.
42. Preparing a Database
Setup Development Environment for EF Code-First
Creating the Entity Framework Context
Adding Data to the Database
Creating the Product Repository
44. Creating the Database
The first step is to create the database connection in Visual Studio. Open the
Server Explorer window from the View menu and click the Connect to Database
button.
45. Creating the Entity Framework Context
Create a context class that will associate the model with the database. Create a
new folder in the Vic.SportsStore.Domain project called Concrete and add a new
class file called EFDbContext.cs within it.
public class EFDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
47. Creating the Entity Framework Context
Create a context class that will associate the model with the database. Create a
new folder in the Vic.SportsStore.Domain project called Concrete and add a new
class file called EFDbContext.cs within it.
using (var ctx = new EFDbContext())
{
var product = new Product() { };
ctx.Products.Add(product);
ctx.SaveChanges();
}
48. Adding Data to the Database
In the Server Explorer window, expand the Tables item of the SportsStore
database, right-click the Products table, and select Show Table Data.
49. Creating the Product Repository
Add a class file to the Concrete folder of the Vic.SportsStore.Domain project
called EFProductRepository.cs
public class EFProductRepository : IProductsRepository
{
private EFDbContext context = new EFDbContext();
public IEnumerable<Product> Products
{
get { return context.Products; }
}
}
50. Creating the Product Repository
Edit the NinjectDependencyResolver.cs class file
kernel.Bind<IProductsRepository>().To<EFProductRepository>();