{"id":"https://openalex.org/W2000651459","doi":"https://doi.org/10.1145/1028664.1028765","title":"Mock roles, not objects","display_name":"Mock roles, not objects","publication_year":2004,"publication_date":"2004-10-23","ids":{"openalex":"https://openalex.org/W2000651459","doi":"https://doi.org/10.1145/1028664.1028765","mag":"2000651459"},"language":"en","primary_location":{"id":"doi:10.1145/1028664.1028765","doi":"https://doi.org/10.1145/1028664.1028765","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028765","pdf_url":null,"source":{"id":"https://openalex.org/S7407086163","display_name":"Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063869079","display_name":"Steve Freeman","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Steve Freeman","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002904984","display_name":"Tim Mackinnon","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tim Mackinnon","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062049320","display_name":"Nat Pryce","orcid":"https://orcid.org/0000-0003-4899-7455","observed_orcids":["https://orcid.org/0000-0003-4899-7455"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Nat Pryce","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029629351","display_name":"Joe Walnes","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Joe Walnes","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.3349,"has_fulltext":false,"cited_by_count":92,"citation_normalized_percentile":{"value":0.87758579,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"236","last_page":"246"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.5360999703407288,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.5360999703407288,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.42410001158714294,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.016699999570846558,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/mock-objects","display_name":"mock objects","score":0.9490000009536743},{"id":"https://openalex.org/keywords/test-driven-development","display_name":"test-driven development","score":0.9620000123977661},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4399999976158142},{"id":"https://openalex.org/keywords/object-oriented-design","display_name":"object-oriented design","score":0.9020000100135803},{"id":"https://openalex.org/keywords/test-isolation","display_name":"test isolation","score":0.5540000200271606},{"id":"https://openalex.org/keywords/third-party-libraries","display_name":"third-party libraries","score":0.9449999928474426},{"id":"https://openalex.org/keywords/unit-testing","display_name":"unit testing","score":0.47999998927116394}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7537448406219482},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6819342374801636},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.6081989407539368},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5670443177223206},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5359483957290649},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5212814807891846},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.48447084426879883},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4721534252166748},{"id":"https://openalex.org/C42058472","wikidata":"https://www.wikidata.org/wiki/Q810214","display_name":"Base (topology)","level":2,"score":0.4595685303211212},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4262070655822754},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18854406476020813},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.09848037362098694},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1028664.1028765","doi":"https://doi.org/10.1145/1028664.1028765","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028765","pdf_url":null,"source":{"id":"https://openalex.org/S7407086163","display_name":"Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.100.2927","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.2927","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.jmock.org/oopsla2004.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.92.2637","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.2637","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.mockobjects.com/files/mockrolesnotobjects.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W1488077794","https://openalex.org/W1499546067","https://openalex.org/W1537775647","https://openalex.org/W1607519102","https://openalex.org/W2026049208","https://openalex.org/W2029414465","https://openalex.org/W2050645799","https://openalex.org/W2067236069","https://openalex.org/W2082340512","https://openalex.org/W2120787570","https://openalex.org/W2131890917","https://openalex.org/W2153887189","https://openalex.org/W3161432625","https://openalex.org/W4254691308","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2041378382","https://openalex.org/W2900136781","https://openalex.org/W7097693216","https://openalex.org/W4382052206","https://openalex.org/W2090235853","https://openalex.org/W4241980232","https://openalex.org/W7126306652","https://openalex.org/W612328104","https://openalex.org/W2994133228","https://openalex.org/W154490400"],"abstract_inverted_index":{"Mock":[0,54],"Objects":[1,55],"is":[2,44],"an":[3,57],"extension":[4],"to":[5,30],"Test-Driven":[6],"Development":[7],"that":[8,80],"supports":[9],"good":[10],"Object-Oriented":[11],"design":[12],"by":[13],"guiding":[14],"the":[15,50,71],"discovery":[16],"of":[17,21,52,69],"a":[18,24,35,77],"coherent":[19],"system":[20],"types":[22],"within":[23],"code":[25],"base.":[26],"It":[27,73],"turns":[28],"out":[29],"be":[31],"less":[32],"interesting":[33],"as":[34],"technique":[36],"for":[37],"isolating":[38],"tests":[39],"from":[40,67],"third-party":[41],"libraries":[42],"than":[43],"widely":[45],"thought.":[46],"This":[47],"paper":[48],"describes":[49],"process":[51],"using":[53],"with":[56],"extended":[58],"example":[59],"and":[60,63],"reports":[61],"best":[62],"worst":[64],"practices":[65],"gained":[66],"experience":[68],"applying":[70],"process.":[72],"also":[74],"introduces":[75],"jMock,":[76],"Java":[78],"framework":[79],"embodies":[81],"our":[82],"collective":[83],"experience.":[84]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":6},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":11}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2016-06-24T00:00:00"}
